電子カルテ

当院では,電子カルテとして,オープンソースの OpenDolphin 1.3.0(デジタルグローブ社)を使用させていただいています。素晴らしいソフトをオープンソースで公開されているデジタルグローブ社には,とても感謝しています。

 どんな素晴らしい電子カルテも,実際に運用するには個々の医院に合わせたカスタマイズが必要だと思います。その場合,オープンソースなら,自院のためだけに自由にカスタマイズすることができます。このブログでは,OpenDolphin を当院で運用するにあたって,色々カスタマイズした内容を公開しています。


  • カスタマイズしたソースは公開しています
  • デジタルグローブ社はライフサイエンスコンピューティング(株)と合併し,現在同社のオープンドルフィンラボとなっています
  • 本家オープンドルフィンラボの OpenDolphin は既に ver. 2.x になっています

2018年1月14日 (日)

domU の orca サーバを ubuntu 16.04 にアップグレード

まずは autoremove
$ sudo apt-get autoremove
しかる後にアップグレード。
$ sudo do-release-upgrade
jma-receipt は do-release-upgrade の対象ではないので,自動的に apt line がコメントアウトされる。
リポジトリ情報のアップデート
サードパーティが提供するリポジトリを使わない設定にしました
sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース' ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
設定ファイルについていくつか聞かれるが,いずれもパッケージメンテナのバージョンをインストールする
設定ファイル '/etc/cups/cups-browsed.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
設定ファイル /etc/postgresql-common/createcluster.conf の新しいバージョン (/tmp/postgresql-common.6101P1) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。
アップグレード完了後,再起動する。
システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
再起動後に,postgresql 9.3 を purge する。これで postgresql 9.5 が立ち上がる。
$ sudo service postgresql stop
$ sudo aptitude purge postgresql-9.3 postgresql-client-9.3
$ sudo service postgresaql start
jma-receipt の apt line を修正する。trusty → xenial の書き換えはしてくれないので,手動で書き換える必要がある。
$ cd /etc/apt/sources.list.d/
$ sudo sh -c "sed -e 's/^# //' jma-receipt-trusty50.list | sed 's/#.*$//' | sed 's/trusty/xenial/' > jma-receipt-xenial50.list"
$ sudo rm jma-receipt-trusty50*
jma-receipt のアップグレード
$ sudo aptitude update
$ sudo aptitude upgrade
データベースの初期化
$ sudo service jma-receipt stop
$ sudo jma-setup --noinstall
DBHOST:		OK (PostgreSQL:localhost)
DBUSER:		OK (orca)
DATABASE:	OK (orca)
DBENCODING:	OK (EUC-JP)
OK! データベースをリストア後再度 jma-setupを実行してください
データベースのリストア
$ pg_restore -Fc -d orca orca_db.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 6067; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR:  must be owner of extension plpgsql
    Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language'
 :
pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges could be revoked for "public"
pg_restore: WARNING:  no privileges were granted for "public"
pg_restore: WARNING:  no privileges were granted for "public"
WARNING: errors ignored on restore: 1
もう一回 jma-setup
$ sudo jma-setup
DBHOST:		OK (PostgreSQL:localhost)
DBUSER:		OK (orca)
DATABASE:	OK (orca)
DBENCODING:	OK (EUC-JP)
DBKANRI		OK (tbl_dbkanri)
UPDATE CHECK:	OK (online)
DBLIST:		OK (050000-1)
LIST DOWNLOAD:	OK (nothing)
DBVERSION:	OK (0500001)
データベース構造変更処理は終了しました
pg_hba.conf の設定
host   all   all   192.168.1.0/24   trust
postgresql.conf の設定
listen_addresses = '*'
port = 5432
リブート後,monsiaj でアクセスしてプログラム更新,マスタ更新,しかる後にスキーマチェック。
$ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz
$ tar xvzf jma-receipt-dbscmchk.tgz
$ cd jma-receipt-dbscmchk
$ sudo bash jma-receipt-dbscmchk.sh
ubuntu 16.04 の orca 5.0 は 2020年の 9月までサポートされる予定。

2018年1月13日 (土)

domU の dolphin サーバを ubuntu 16.04 にアップグレード

まずは autoremove
$ sudo apt-get autoremove
しかる後にアップグレード。
$ sudo do-release-upgrade
java 1.8 は PPA でインストールしていたので,do-release-upgrade の際には停止される。
リポジトリ情報のアップデート
サードパーティが提供するリポジトリを使わない設定にしました
sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。アップグレード完了後、'ソフトウェアソース'
ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができます。
設定ファイルについていくつか聞かれるが,いずれもパッケージメンテナのバージョンをインストールする
設定ファイル /etc/postgresql-common/createcluster.conf の新しいバージョン (/tmp/postgresql-common.h3j36L) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。
設定ファイル /etc/apt/apt.conf.d/50unattended-upgrades の新しいバージョン (/etc/apt/apt.conf.d/50unattended-upgrades.ucftmp) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。
アップグレード完了後,再起動する。
システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
再起動したら,まず postgresql-9.3 を削除する。
$ sudo service postgresql stop
$ sudo aptitude purge postgresql-9.3 postgresql-client-9.3
データベースを dump から戻す。なお,dump を戻すときは posgresql.conf で fsync = off にしておくと時間の節約になる。パスワードも忘れずに設定
$ sudo service postgresql start
$ sudo -u postgres createuser --super dolphin
$ createdb dolphin
$ psql -c "alter user dolphin with password 'dolphin'"
$ pg_restore -Fc -d dolphin dolphin_db.dump
java 1.8 の apt line を再有効化する。 /etc/apt/sources.list.d/webupd8team-java-precise.list のファイルネームを変更し,先頭の # を除去して有効化する。*.distUpgrade は削除する。
$ cd /etc/apt/sources.list.d/
$ sudo mv webupd8team-java-trusty.list webupd8team-java-xenial.list
$ sudo rm webupd8team-java-trusty.list.distUpgrade
$ sudo vi webupd8team-java-xenial.list
$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo update-alternatives --config java
以上で ubuntu 16.04 へのアップグレードは完了。

2018年1月12日 (金)

domU の owncloud サーバを ubuntu 16.04 にアップグレード

domU で運用している自宅サーバの owncloud を ubuntu 16.04 にアップグレードした。
  1. autoremove
    $ sudo apt-get autoremove
    
  2. postgres のデータベースをバックアップ
    $ pg_dump -Fc owncloud > owncloud.dump
    
  3. owncloud を削除する
    $ sudo aptitude purge owncloud
    $ sudo rm /etc/apt/sources.list.d/owncloud.list
    
  4. do-release-upgrade
    $ sudo do-release-upgrade
     :
    設定ファイル '/etc/apache2/sites-available/default-ssl.conf'
     ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
     ==> パッケージ配布元が更新版を提供しています。どうしますか? 
    → N
     :
    廃止されたメジャーバージョン 9.3
    既存のクラスタがアップグレードされた後に、postgresql-9.3 および postgresql-client-9.3 パッケージを削除する必要があります。
    → <了解>
     :
    設定ファイル /etc/postgresql-common/createcluster.conf の新しいバージョン(/tmp/postgresql-common.4RBMXy) が利用可能ですが、現在インストールされているバージョンは、ローカルで変更されています。変更された設定ファイル createcluster.conf について何を行いたいですか? 
    → パッケージメンテナのバージョンをインストール
     :
    システムのアップグレードが完了しました。
    'Y' を選択すると再起動します。
    続行する[yN]
    
  5. postgresql-9.3 の削除と 9.5 のインストール
    $ sudo purge postgresql-9.3 postgresql-client-9.3
    $ sudo aptitude install postgresql
    
  6. postgresql の設定
    $ sudo vi /etc/postgresql/9.5/main/postgresql.conf
    listen_addresses = '*' ←コメントを解除し、''内を * に修正
    
    $ sudo vi /etc/postgresql/9.5/main/pg_hba.conf
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    
  7. カーネルアップグレード,再起動
    $ sudo apt-get install linux-generic
    
  8. データベースを dump から戻す
    $ sudo -i
    # su - postgres
    $ psql 
    postgres=# CREATE USER a_user WITH PASSWORD 'a_passwd';
    postgres=# CREATE DATABASE owncloud TEMPLATE template0 ENCODING 'UNICODE';
    postgres=# ALTER DATABASE owncloud OWNER TO a_user;
    postgres=# GRANT ALL PRIVILEGES ON DATABASE owncloud TO a_user;
    postgres=# \q
    $ pg_restore -d owncloud owncloud.dump
    
  9. owncloud のレポジトリを設定する
    $ curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add -
    # echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud.list
    
  10. owncloud のインストール
    $ sud aptitude update
    $ sudo aptitude install owncloud-files
    
  11. maintenance モードに設定
    $ sudo vi /var/www/owncloud/config/config.php
     'maintenance' => true,
    
  12. php のインストール
    $ sudo aptitude install php php7.0-pgsql php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip libapache2-mod-php
    
  13. owncloud.conf の有効化と apache2 のリロード
    $ sudo a2enconf owncloud
    $ sudo service apache2 reload
    
  14. maintenance モードを解除
    $ sudo vi /var/www/owncloud/config/config.php
     'maintenance' => false,
    
  15. あとは,ブラウザからアクセスして,「アップデートを開始」をクリック。無事 ubuntu 16.04 + owncloud 10.0.4 にアップデートされた。

2018年1月11日 (木)

サーバの dom0 を ubuntu 16.04 にアップグレード

サーバの dom0 を ubuntu 16.04 にアップグレードした。14.04 の時と同じように do-release-upgrade した。efi インストール (mac mini) も試してみたが,xen をインストールすると起動途中で固まってしまい,断念した。
$ sudo apt-get autoremove
$ sudo do-release-upgrade
 :
SSH経由で実行していますが、続けますか?
続行する[yN] y
 :
アップグレードを開始しますか?
続行する[yN]  詳細 [d] y
 :
システムのアップグレードが完了しました。
再起動が必要です
アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。
続行する[yN] y
再起動後に uname でカーネルを確認してみると
$ uname -r
3.13.0-137-generic
なぜかカーネルが古いままになっていた。そこで,
$ sudo apt-get install linux-generic
これでカーネルも最新バージョンになった。
$ uname -r
4.4.0-109-generic
xen の balooning を止める設定
/etc/defaults/grub
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=512M,max:512M"
/etc/xen/xl.conf
autoballoon=0
しかる後に update-grub と reboot

2017年12月16日 (土)

orca 5.0 に移行

orca 4.8 を orca 5.0 にアップグレードしてみた(ubuntu 14.04)。OpenDolphin の方は,何も変更しなくて大丈夫だった。
  1. まずは最新状態までアップデート
    $ sudo aptitude update
    $ sudo aptitude dist-upgrade
    $ sudo apt-get autoremove
    $ sudo reboot
    
  2. データベースのスキーマチェック
    $ wget http://ftp.orca.med.or.jp/pub/etc/jma-receipt-dbscmchk.tgz 
    $ tar xvzf jma-receipt-dbscmchk.tgz
    $ cd jma-receipt-dbscmchk
    $ sudo bash jma-receipt-dbscmchk.sh
    ORCA Project Jma-Receipt Database Schema Check (2.0)
    == Operating System information ==
      Linux orca 3.13.0-129-generic #178-Ubuntu SMP Fri Aug 11 12:48:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
      DISTRIB_ID=Ubuntu
      DISTRIB_RELEASE=14.04
      DISTRIB_CODENAME=trusty
      DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
    == Database System information ==
      PostgreSQL version 9.3
    == Package information ==
      ii  jma-receipt                          1:4.8.0-u4jma1                             amd64        JMA Standard Receipt Computer Software
      version   4.8.0-1 (040800-1)
    == Schema Check information ==
      Jma-Receipt Schema Version (040800-1)
      チェックファイル:[ orcadbschema.ver480 : 2017-06-21 13:41:28 ]
    現在のスキーマバージョンは4.8.0です。
    スキーマの整合性をチェックします。
    --------------------------------------------------------
      データベースの整合性チェックは正常に終了しました。
    --------------------------------------------------------
    
  3. apt line の更新
    $ sudo rm /etc/apt/sources.list.d/jma-receipt-trusty48.list
    $ sudo wget -O /etc/apt/sources.list.d/jma-receipt-trusty50.list https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-trusty50.list
    
  4. keyring の追加
    $ wget https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
    $ sudo apt-key add archive.key
    $ apt-key list
     :
    pub   1024D/69C4E4D0 2007-09-03
    uid                  ORCA support 
    sub   2048g/B4E6D879 2007-09-03
    
    pub   4096R/8BE1D5BB 2016-07-07
    uid                  ORCA Support 
    sub   4096R/51E031AB 2016-07-07
    
  5. update and upgrade
    $ sudo aptitude update
    $ sudo aptitude dist-upgrade
    以下のパッケージが更新されます:
      curl jma-receipt jma-receview jma-receview-server libcurl3 libcurl3-gnutls libgtkpanda2.0-0 libmondai1
      libxcursor1 libxfont1 monpe monpe-common monpe-libs panda-dev panda-libs panda-server
    16 個のパッケージを更新、 0 個を新たにインストール、 1 個を削除予定、0 個が更新されていない。
    36.9 M バイトのアーカイブを取得する必要があります。 展開後に 14.4 M バイトのディスク領域が新たに消費されます。
    先に進みますか? [Y/n/?]
     :
    設定ファイル '/etc/jma-receipt/jppinfo.list'
     ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
     ==> パッケージ配布元が更新版を提供しています。
       どうしますか? 以下の選択肢があります:
        Y か I  : パッケージメンテナのバージョンをインストールする
        N か O  : 現在インストールされている自分のバージョンを残す
          D     : 両バージョンの差異を表示する
          Z     : 状況を調査するためにシェルを開始する
     デフォルトでは現在使っている自分のバージョンを残します。
    *** jppinfo.list (Y/I/N/O/D/Z) [デフォルト=N] ? y
     :
    現在の状態: 更新が 0 個 [-16]。
    
  6. データベースセットアップ
    $ sudo jma-setup
    DBHOST:		OK (PostgreSQL:localhost)
    DBUSER:		OK (orca)
    DATABASE:	OK (orca)
    DBENCODING:	OK (EUC-JP)
    DBKANRI		OK (tbl_dbkanri)
    UPDATE CHECK:	OK (online)
    DBLIST:		OK (050000-1)
    LIST DOWNLOAD:	FILE (51)
    DOWNLOAD:	...................................................OK
    EXTRACT:	...................................................OK
    UPDATE:		...................................................OK
    DBVERSION:	OK (0500001)
    データベース構造変更処理は終了しました
    
  7. CLAIM サーバ起動設定
    $ sudo dpkg-reconfigure jma-receipt
    
    • jma-receipt 用に dbredirector をスタートしますか <いいえ>
    • glserver の SSL を有効にしますか <いいえ>
    • jma-receipt 用に claim server をスタートしますか <はい>
    • claim server が接続待ちするポートを入力して下さい <了解>
    $ ps x | grep claim
    16843 ?        Sl     0:00 /usr/bin/ruby1.9.1 /usr/lib/jma-receipt/scripts/claim/rb/clm_rcv.rb 8210
    
  8. sky.sh 様の帳票用パッケージリストを追加
    $ sudo vi /etc/jma-receipt/jppinfo.list
    ---
    :root: /var/lib/jma-receipt/plugin
    :list:
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/5.0.0/jpplist1.yml
     - http://ftp.orca.med.or.jp/pub/receipt/plugin/5.0.0/jpplist2.yml
     - http://www.sky.sh/orca/plugin/5.0.0/skysh.yml
    :linkprefix: /usr/local/site-jma-receipt
    :verify: true
    
    古い帳票情報を削除
    $ psql orca -c "delete from tbl_plugin where name='skysh';"
    DELETE 2
    
    キーリングの追加
    $ gpg --list-keys
    /home/orca/.gnupg/pubring.gpg
    -----------------------------
    pub   1024D/ED7FC485 2010-01-29
    uid                  support (plugin) 
    sub   2048g/A033594A 2010-01-29
    
    sky.sh 様のキーリングがない場合は入れる
    $ wget http://www.sky.sh/orca/plugin/skysh.pub
    $ gpg --import skysh.pub
    確認します
    $ gpg --list-keys
    /home/orca/.gnupg/pubring.gpg
    -----------------------------
    pub   1024D/ED7FC485 2010-01-29
    uid                  support (plugin) 
    sub   2048g/A033594A 2010-01-29
    
    pub   2048R/268E931D 2013-09-21
    uid                  skysh (hasegawa) 
    sub   2048R/E4A273AB 2013-09-21
    
    ここで一旦リブート
  9. monsiaj でアクセスする(URL は "http://orca:8000/rpc/"
    プラグイン更新→プログラム更新→マスタ更新
    ライセンスマスタ更新に「キー取得」が必要になった。マスタ更新画面で「キー取得」する。キーを取得していないと以下のエラーが出る。
    マスタ更新は異常終了しました
    アクセスキーがありません
    
    なお,キーの再取得が必要になった場合は,医療機関専用サイトにログインして,「アクセスキー」→「再発行」する。
  10. monsiaj のカスタマイズ
    以前のバージョンは,ソースを github からダウンロードする様になっていたが,新バージョンは普通にダウンロードサイトから落とせるようになった。以前のバージョンと同じくカスタマイズして,ソースは BitBucket さんに上げた

2017年12月 8日 (金)

java 1.8.0_152 で NetBeans フリーズ

NetBeans のリファクタリングで Class の名前変更をしようとしたところ,「名前変更クラスxxx」のダイアログが出た時点でレインボーカーソルになってフリーズするようになった。設定ファイル (~/Library/Application Support/NetBeans/8.2/) を削除したり,キャッシュ (~/Library/Caches/NetBeans/8.2/) を消去したりしてみたが改善しなかった。

ふと思いついて,java の古いバージョンで立ち上げてみたところ症状が消失した。最新の java 1.8.0_152 ではなく,java 1.8.0_151 の方で試してみたら,これも大丈夫だった。

調べてみたら,奇数番号のアップデートは Critical Patch Update (CPU),偶数は Patch Set Update (PSU) と呼ばれるアップデートで,PSU は CPU の変更+次バージョン用のバグフィックスが含まれているようだ。今回は,PSU のバグフィックスの副作用で NetBeans に影響が出たと考えられる。


1.8.0_161, 1.8.0_162 でも直っていなかった。bugzilla に報告されていた

2017年10月20日 (金)

High Sierra に移行

シェーマ箱の順番がバラバラになる

High Sierra に移行したところ,シェーマ箱のタブやシェーマの順番がバラバラになってしまった。Sierra では File#listFiles で返ってくるリストが,ファイルネームでソートされていたが,High Sierra ではバラバラに返ってくるようになった様だ。Apple File System の影響かもしれない。

File#listFiles を後からソートする様にコードを書き直した。

ソート前ソート後
Imageboxsort Imagebox
ImageBox.java
Arrays.asList(directories).stream().sorted(Comparator.comparing(File::getName)).forEach(dir -> {
  String tabName = dir.getName();
  :
ImagePalette.java
imageList.sort(Comparator.comparing(ImageEntry::getUrl));

Drag Image が縮小される

スタンプをドラッグして移動すると,別のウインドウに入ったところで Drag Image が自動的に縮小されるようになった。これは,ネイティブの動作と同じ動作である。

SierraHigh Sierra
Ddsierra Ddhsierra

2017年9月25日 (月)

インスペクタのデザイン変更

またインスペクタのデザインをいじった。
  • 全く使っていなかったツールバーを削除
  • アクアデザインからフラットデザインに変えた
  • 左ペインのインスペクタのバックグランドが重いグレーだったのを軽いグレーにした
Old_2   New_2

オリジナルの OpenDolphin はフラットデザイン(?)だったが,Quaqua 導入時にがんばってアクアデザインにカスタマイズしていた。
しかし,結局時代はフラットデザインに戻ってしまった。
下の図では BasicInfoInspector とカルテのタイトルバー部分がフラットデザイン。
Old1   New1

2017年9月14日 (木)

WildFly10 へのアップデート

だらだらと WildFly 8.2.1. を使い続けていたが,ついに思い立って WildFly 10 にアップデートすることにした。

WildFly 10.2.0 の準備

WildFly の GitHub から branch 10.x を選択,"Download Zip" して解凍する。作業時点ではこれで 10.2.0.Final がダウンロードされた。

WildFly 10.2.0 のビルド

WildFly 8.2.1 の時と同じようにビルドできた。注意点としては,full distributable build が欲しい場合は,build/target ではなく,dist/target の方を使う必要がある。build/target の方は,maven 環境がないと動かない。

WildFly 10.2.0 のセットアップ

  • ./standalone.sh -b 0.0.0.0 で立ち上げて,./add-user.sh で管理ユーザ登録
  • JDBC の登録(ドライバは postgresql-42.1.4.jar),data-source の作成,パスワード登録
    $ ./jboss-cli.sh --connect
    [standalone@localhost:9990 /] module add --name=org.postgres --resources=~/Downloads/postgresql-42.1.4.jar --dependencies=javax.api,javax.transaction.api
    [standalone@localhost:9990 /] /subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
    [standalone@localhost:9990 /] data-source add --jndi-name=java:jboss/datasouces/DolphinDS --name=DolphinDS --connection-url=jdbc:postgresql://localhost/dolphin --driver-name=postgres --user-name=dolphin
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=DolphinDS:write-attribute(name=password, value=dolphin)
    [standalone@localhost:9990 /] quit
    

OpenDolphin サーバの修正

WildFly10 の pom.xml に合わせて,サーバの pom.xml のバージョンを変更する。変更したら「依存性」を右クリックして,「宣言されたている依存性をダウンロード」する。
org.apache.lucene.queryParser.QueryParserorg.apache.lucene.queryparser.classic.QueryParser になって,引数の version がいらなくなったので修正する。インデックスも互換性がなくなったので,/var/lucene の中身を消去する。

OpenDolphin クライアントの修正

pom.xml のバージョンを修正して依存性をダウンロードする。

lucene index の作り直し

以前やったとおりインデックスを作り直す。エントリー数は当時 (2013年) の 117,673 件から 219,617 件に増加しており,インデックス作成も実に 3時間28分を要した。
13:05:30,906 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: identifierloader-1) HSEARCH000027: Going to reindex 219617 entities
13:05:34,786 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: entityloader-2) HSEARCH000030: 50 documents indexed in 3391 ms
  :
16:33:16,248 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: entityloader-3) HSEARCH000030: 219600 documents indexed in 12465287 ms
16:33:16,248 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: entityloader-3) HSEARCH000031: Indexing speed: 17.616922 documents/second; progress: 99.99%
16:33:22,187 INFO  [org.hibernate.search.batchindexing.impl.SimpleIndexingProgressMonitor] (Hibernate Search: batch coordinator-1) HSEARCH000028: Reindexed 219617 entities

2017年9月 9日 (土)

postgres 9.3.18 から空パスワードは無効

多忙な夏を乗り越えて少し余裕ができたので,久しぶりに OpenDophin のメンテをしようと,開発マシンの Dolphin サーバを aptitude upgrade でアップデートしたところ,サーバが立ち上がらなくなった。ログを見ると,postgres の認証で失敗していた。しかし,もともと postgres にはパスワードは設定しておらず,アップデート前はそのまま使えていたはずである。

    :
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "dolphin"
	at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:420)
    :

原因は,アップデートで postgres が 9.3.18 にアップデートされていたことであった。このバージョンから,空パスワードが許されなくなっていた。

・ Disallow empty passwords in all password-based authentication methods 

postgres の dolphin ユーザと wildfly の DolphinDS にパスワードを設定して無事サーバが立ち上がるようになった。

  • psql で dolphin データベースにパスワードを設定
    dolphin=# alter user dolphin with password 'dolphin';
    
  • jboss-cli.sh で DolphinDS にパスワードを設定
    $ ./jboss-cli.sh --connect
    Authenticating against security realm: ManagementRealm
    Username: xxxx
    Password: xxxx
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=DolphinDS:write-attribute(name=password, value=dolphin)
    {
        "outcome" => "success",
        "response-headers" => {
            "operation-requires-reload" => true,
            "process-state" => "reload-required"
        }
    }
    
    これで standalone/configuration/standalone.xml に反映される
    <datasource jndi-name="java:jboss/datasouces/DolphinDS" pool-name="DolphinDS" enabled="true">
      <connection-url>jdbc:postgresql://localhost/dolphin</connection-url>
      <driver>postgres</driver>
      <security>
        <user-name>dolphin</user-name>
        <password>dolphin</password>
      </security>
    </datasource>
    

«Windows 10 マシンが突然再起動する