以前のリリースからの動作に関する主な変更点
このセクションでは、以前のリリースからの動作に関する主な変更点について説明します。
・N1QLからの検索クエリ
以前は、N1QLからの検索クエリの場合、アナライザーを使用しないクエリ(Term、Phrase、
Multiphrase、Fuzzy、Prefix、Regexp、WildCardクエリ)に任意のアナライザーを使用できました。
ただし、これにより、カバーされるクエリとカバーされないクエリの間で一貫性のない結果が
発生しました。カバリングインデックスクエリと非カバリングインデックスクエリで一貫した結果を
確保するためには、アナライザーを使用しないクエリ用のキーワードアナライザーが必須です。
新たにサポートされたプラットフォーム
本リリースでは、次のプラットフォームのサポートが追加されています。
・Red Hat Enterprise Linux (RHEL) 8.2
非推奨の機能とプラットフォーム
<非推奨および削除されたプラットフォーム>
・Ubuntu 16.04は非推奨です。
・Debian 8のサポートは終了しました。
・Java Runtime Environment(JRE) バージョン8のサポートは終了しました。Analyticsサービスには、
JREバージョン11以降がインストールされている必要があります。
<非推奨および削除された機能>
・cbbackup、cbrestore、cbbackupwrapperユーティリティは本リリースで非推奨となりました。
既知の問題
このセクションでは、本リリースにある主な既知の問題を取り上げます。
<分析サービス>
・MB-40727
概要:複合フィールドを持つセカンダリインデックスを作成し、これらのフィールドの1つ以上が
数値型(int、double)である場合、インデックス付き数値フィールドの値が実際の値とNULL
またはMISSINGとの間で変化するようにドキュメントが更新されると、分析サービスは繰り返しの
取得エラーに陥る可能性があります。
回避策:この問題の発生を回避するためには、確実にインデックス付き数値フィールドに常に
値(つまり、NULLまたはMISSINGではない)があるようにするか、数値フィールドを持つ
複合フィールドインデックスを削除してください。
・MB-40693
概要:分析サービスは、IPv4構成クラスターからIPv6構成クラスターへのリンクを作成する時に
エラーを投げます。
回避策:分析サービスのjvmArgsを"-Djava.net.preferIPv4Stack=false"に設定し、分析クラスターを
再起動します。例:
curl -u Administrator:password -X PUT 'http://localhost:8095/analytics/config/service' --data-urlencode 'jvmArgs=-Djava.net.preferIPv4Stack=false'。
・MB-40576
概要:メタデータエンティティ(データバースやデータセットなど)の識別子に、URIで
使用される時にURLエンコーディング(パーセントエンコーディング)を必要とする文字が
含まれている場合、この識別子を使用するリクエストはURISyntaxExceptionで失敗する
可能性があります。
回避策:URLエンコーディングを必要としない文字を使用して識別子を作成してください。
・MB-40400
概要:リモートリンクに代替アドレスを使用する場合、リモートクラスターの少なくとも1つの
ノードで管理[SSL]ポートを公開し、全てのデータ(KV)ノードでkv[SSL]ポートを公開する
必要があります。そうしないと、リンクの作成または変更時に400(不正な要求)が発生します。
・MB-39883
概要:現在、分析権限はロールから明示的に除外されていないため、cluster_adminおよび
bucket_adminのロールは、誤って分析データの読み取りを許可されています。現在の
Analytics REST APIドキュメントには、cluster_adminが複数のAPIにアクセスして
Analytics操作を実行できることも記載されています。
しかしながら、これらのロールはデータを読み取ることができず、この動作は今後のリリースで
修正される予定です。修正が実装されると、cluster_adminロールはAnalytics操作を実行できなく
なり、これにより下位互換性の問題が発生する可能性があることに注意してください。
・MB-36461
概要:EVERY数量詞を含むINサブ句への入力がMISSINGまたはNULLである場合、分析エンジンと
クエリエンジンは動作が異なります。分析サービスはMISSINGまたはNULLの入力値(この場合)を
空の配列と同等に扱います。その結果、EVERY … IN …式全体がTRUEを返しますが、クエリサービスは
その入力がMISSINGの場合はMISSING(または、その入力がNULLの場合はNULL)を返します。
回避策:IS KNOWN述語を使用して、IN値がNULL/MISSINGではないかどうかをテストしてください。
WHERE (x IS KNOWN) AND (EVERY y IN x SATISFIES … END)
<検索サービス>
・MB-39887
概要:“analyzer”設定なしのnegate(NEG) matchおよびmatch_phraseクエリを使用すると、
結果が返されない可能性があります。この問題は、次のいずれかが指定されていない場合にのみ、
カバーされていないクエリで発生する可能性があります。
・オプションのインデックス名。
・matchクエリに使用するアナライザ。
これは、このようなカバーされていないクエリでは、使用するインデックスのコンテキストが
検証フェーズで欠落しており、インデックスで使用された"keyword"アナライザの代わりに
デフォルトの"standard"アナライザーが使用されるためです。
回避策:カバーされていないクエリで使用するアナライザ、または、オプション内のインデックス名を
明示的に指定します。
<クエリサービス>
・MB-39990
概要:HTTPリスナーとTLSUniqueリスナーの両方の外部通信用にIPv4、IPv6、またはその両方への
明示的な接続のサポートを追加すると同時に、IPv6の使用時にWindowsプラットフォームで
スループットの大幅な低下が見られました。これは、Golangの根本的な問題が原因です。
修正された問題
このセクションでは、本リリースで修正された主な問題を取り上げます。
<クラスタマネージャ>
・MB-38715
概要:問題のトラブルシューティングに役立つように、クラスターマネージャーは
/proc/vmstat allocstallに関する情報を報告するようになりました。
<クロスデータセンターレプリケーション>
・MB-39687
概要:XDCRは正しい代替アドレスヒューリスティックを適用しません。
<Eventingサービス>
・MB-40767
概要:allowInterBucketRecursionがtrueに設定されている時に再帰検出によってメモリ不足例外が
発生する問題を修正しました。
・MB-40009
概要:KillAndRespawnの再起動後、"from-now"ディレクティブは無視され、予想どおりに
現シーケンス番号から開始するのではなく、0から開始されました。これは修正されました。
・MB-39878
概要:アンデプロイと削除の間の競合状態のため、Eventingサービスがクラッシュしました。
これは修正されました。
・MB-39874
概要:パフォーマンスの遅いクエリとEventing JavaScriptコードを区別するために、
Eventingサービスは、Eventing関数から呼び出される全てのN1QLクエリにデフォルトの
clientContextIdを追加するようになりました。
・MB-39713
概要:N1QLステートメントによる関数間の再帰を回避するために、Eventingサービスは、
Eventing関数で静的N1QLステートメントの再帰チェックを実行するようになりました。
・MB-39399
概要:タイマーハンドラーを備えたアイドル状態のクラスターでタイマースキャン時間が
増加し続ける問題を修正しました。
・MB-39335
概要:EventingコンシューマーRSSが、小さいドキュメントでのバケット操作の
Eventingメモリクォータを受け入れなかった問題を修正しました。
・MB-39080
概要:cbeventがlocalhostで実行できなかった問題を修正しました。
・MB-38793
概要:Eventingログファイルのアクセス許可が過度に制限(0600)されていたため、
ログファイルはサードパーティのツールによって処理されませんでした。ログファイルの
アクセス許可が更新されました(0640)。
・MB-38731
概要:Eventingステータスが、Webコンソール(UI)のハンドラーのすぐ横に表示されるように
なりました。
・MB-38729
概要:タイマーをキャンセルする機能が追加されました。
・MB-38554
概要:タイマー実行中に作成されたタイマーがトリガーされないという問題を修正しました。
・MB-38533
概要:複数のタイマーが同じ参照で作成された場合にタイマーがキャンセルされないという問題を
修正しました。
・MB-38321
概要:スローEventing関数がフィード境界が"everything"に設定された状態で最初にデプロイ
された場合、DCPのバックアップが原因で、同じソースバケット上の後続の関数が不足しました。
これは修正されました。
・MB-28734
概要:Eventingタイマーは、cancelTimer()関数を使用するか、既存のタイマーと同じ参照で
新しいタイマーを作成することによって、キャンセルできるようになりました。さらに、
タイマーコールバックによって呼び出される関数は、新しいタイマーを作成できます。
<インデックスサービスとビュー>
・MB-39605
概要:ストレージエンジンのメモリ使用に関する問題のトラブルシューティングに役立てるために、
lastGCSnとcurrSnがMOIストレージ統計として公開されるようになりました。
・MB-39512
概要:圧縮の正当性チェックを追加することにより、無効なメモリアドレスまたはnilポインターの
逆参照によって発生するランタイムエラーを修正しました。
・MB-39452
概要:インデックスサービスは、クラスターマネージャ(ns_server)へのHTTPリクエストに、
よりコンテキストに応じたユーザーエージェントを設定するようになりました。
・MB-39420
概要:.protoファイルが更新された時にprotobufファイル(.pb.go)を再生成するように
インデックスサービスを修正しました。
・MB-39114
概要:インデックス定義操作中、クラスター情報キャッシュは複数回更新されます。バケット数が
多いクラスターでは、クラスター情報キャッシュの更新に時間がかかり、これらの操作の速度が
低下しました。これは修正されました。
・MB-38988
概要:インデックスサービスがウォームアップ状態でスタックされる原因となるまれな競合状態を
修正しました。これは、フィードのbackchのデフォルトサイズを増やすことによって修正されました。
・MB-38864
概要:重いワークロードの一括挿入中、インデックスの同期に長い時間がかかることが
確認されました。これは、多数の挿入のシナリオの増分ワークロードのインデックス作成を
最適化することによって解決されています。
<クエリサービス>
・MB-38929
概要:インデックスアドバイザは、DELETE、MERGE、UPDATEステートメントの
仮想キースペースをサポートするようになりました。
・MB-31105
概要:クエリサービスは、HTTPリスナーとTLSUniqueリスナーの両方の外部通信用にIPv4または
IPv6、あるいはその両方への明示的な接続をサポートするようになりました。また、必要な全ての
ポートでリッスンできない場合、クエリサービスは開始できないでしょう。
WindowsプラットフォームでIPv6を使用する場合、Golangの根本的な問題が原因で、スループットが
大幅に低下する可能性があることに注意してください。
<検索サービス>
・MB-39838, MB-38957
概要:ドキュメントマッピングのアナライザが子フィールドに継承されなかった問題を修正しました。
・MB-39592
概要:カバリングフレックスインデックスクエリと非カバリングフレックスインデックスクエリで
一貫性のある結果を保証するために、アナライザを使用しないクエリにはキーワードアナライザを
要求します。非カバリングフレックスインデックスクエリの場合、インデックス名を指定すること、
または、一致するクエリを使用して、使用されるアナライザを明示的に指定することをお勧めします。
<ツール、Webコンソール (UI)、REST API>
・MB-39220
概要:couchbase-cliフェイルオーバーが更新され、安全でないフラグを渡さずに
ハードフェイルオーバーを実行するようになりました。
Couchbase Server 6.6.0 リリースノート(Couchbase社ウェブサイト):
https://docs.couchbase.com/server/6.6/release-notes/relnotes.html
Couchbaseサブスクリプション
Couchbaseサブスクリプションは、データベースSEによる日本語でのテクニカルサポートを付属した、公式サブスクリプションサービスです。