CSS ver4 への移行に関する注意点
現段階(2015年3月)での CSS 最新バージョンは 4.0.0 です。 ver 3.2.16 からバージョンアップをした場合、いくつか修正する必要があります。 SNS の Kay Kasermir とやりとりをして調査した結果をいくつか記述します。
Java のバージョン
https://ics-web.sns.ornl.gov/css/products.html にも記載がありますが、「Java 8 が必須」です。 Java 7 を使っていてもCSSを起動することは可能ですが、いくつかの重要なコンポーネントがスタートしないため 事実上使い物になりません。
Java8 にしても旧バージョンのCSS (3.2 や 3.1) を実行可能です。特に不具合は無いと思います。 よほどの理由がないかぎり、最新版にアップデートしましょう。
PostgreSQLデータ表示
サーバー側(PostgreSQL)のデフォルト設定が変わりました。
pluginCustomization.ini ファイルに以下の設定を追加することで、以前と同じようにデータを取り出すことが可能です。
# Don't use the new array BLOB org.csstudio.archive.rdb/use_array_blob=false # Don't use a stored procedure for reading org.csstudio.archive.reader.rdb/use_stored_procedure=
原因
PostgreSQLサーバのデフォルトテーブル定義が 2011 年頃から変わった。 配列を扱うため、BLOB を導入している。 CSS4.0からはデフォルトで BLOB を使用することになったらしいので、BLOB不使用を明示する必要がある。
PostgreSQLの BLOB は主に ITER のチームによる開発とのこと。 この他にも、Oracle で言うところの Stored Procedure も導入して、データの min/max/ave をサーバー側で計算し、 その結果をクライアントに通知するようになった。これによってスピードの改善が(少し)期待できる。
これらの新機能に対応するためには、既存のDB定義を変更する必要がある。 まずは別のDBを用意して既存データをコピーし、ベンチマーク等を実施した上でサーバー側の設定を変更するかどうかを決めたい。