Ubuntu 18.04でCorretto 11を使う

Corretto 11プレビューが公開されたので、使ってみることにする。まず、java-commonを入れておく

$ sudo apt-get update && sudo apt-get install java-common

次にここからCorrettoをダウンロードする。今回はjava-11-amazon-corretto-jdk_11.0.2.9-1_amd64.debをインストールする。

$ wget https://d2jnoze5tfhthg.cloudfront.net/java-11-amazon-corretto-jdk_11.0.2.9-1_amd64.deb
$ sudo dpkg --install java-11-amazon-corretto-jdk_11.0.2.9-1_amd64.deb

インストールすると設定されるので、以下で確認。

$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment Corretto-11.0.2.9.1 (build 11.0.2+9)
OpenJDK 64-Bit Server VM Corretto-11.0.2.9.1 (build 11.0.2+9, mixed mode)

Types cannot be provided in get mapping requests, unless include_type_name is set to true.

Elasticsearch 7になると、typeを指定していると怒られる。たとえば、

$ curl "http://localhost:9201/fess.20190224/_mapping/_doc?pretty"
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "Types cannot be provided in get mapping requests, unless include_type_name is set to true."
}
],
"type" : "illegal_argument_exception",
"reason" : "Types cannot be provided in get mapping requests, unless include_type_name is set to true."
},
"status" : 400
}

という感じで、Mapping APIで…/_mapping/{type} みたいなことしているとエラーになる。とりあえず、回避したいのであれば、

$ curl "http://localhost:9201/fess.20190224/_mapping/_doc?include_type_name=true&pretty"

とすれば、今までどおりに返ってくる。まぁ、本来はtypeを指定しないようにするようになおすのが良いが、URLからtypeを消すだけでなく、レスポンスの中のtypeもなくなるので、レスポンスをパースしている仕組みも合わせて修正する必要がある。

最近のFessの開発状況

Fessの開発状況とかを簡単にここで共有しておこう。

現在は
・12.4.xブランチ:Elasticsearch 6.5に対応
・12.5.xブランチ:Elasticsearch 6.6に対応
・masterブランチ:Elasticsearch 7.0に対応
という感じで進めている。商用でメインで使っているものはまだ12.4.xなので、近いうちに12.5.xに切り替えたら、12.4.xブランチには修正を入れない感じになると思う。

Elasticsearch的には6.7もリリースされそうなので、それに対応する12.6.xブランチを作って、Fess 12.6もリリースすることになるだろうなぁ、とは考えています。

masterブランチについては、Elasticsearch 7.0 beta1が出たので、これから7系の対応をしていくことになると思います。これはFess 13になると思いますが、Elasticsearchとの通信がHTTPだけになるので(Transportは使わない)結構、内部的には変わる感じになると思います。とはいえ、今までもそうでしたが、見た目とかはほぼ変わらない気はします。

という感じで進めていますが、SAML対応とかも入れたいところではありますが、Elasticsearch 7がそこそこ変わっているので、まずはそこの対応をしてからその他の機能追加は考えていく感じになると思います。