2021.05.11

Couchbase

Couchbase Server 6.6.2 GA版(リリース日:2021年4月)

新機能と改善点
このセクションでは、このリリースの注目すべき新機能と改善点について説明します。

・ポート21150のTLSの最小バージョンは1.2に設定されています。

・シーケンシャル処理ではなく、フェイルオーバー時のvBucketsのパイプライン処理の結果として、フェイルオーバー処理時間が改善されました。

・Eventingサービスの改善
 ○JSONドキュメントに加えてバイナリドキュメントをサポートします。バイナリドキュメントは、
  6.6.2以上の言語互換性設定を持つ関数にのみ送信されます。
 
 ○フィード境界または"dcp_stream_boundary"は、デプロイ時に選択されなくなりましたが、
  関数の設定の一部です。
 
 ○管理UIのタイマーコンテキストの最大サイズ(Timer Context Max Size)の設定を
  使用して、タイマーのコンテキストサイズを調整する機能を提供します。

・検索サービスの改善 
 ○クラスタレベルのmanagerOptionsを永続化し、ノード間で使用できるようにします。
 
 ○MaxConcurrentPartitionMovesPerNode設定を使用して、リバランス同時実行ノブランタイムを
  設定できるようにします。

 ○ランタイムクラスタオプションとしてmaxConcurrentPartitionMovesPerNodeパラメータを
  Nに上書きできるようにすることで、リバランス操作を高速化します。

新たにサポートされたプラットフォーム
このリリースでは、次のプラットフォームのサポートが追加されています:* Ubuntu 20.04 * Windows Server 2016 Datacenter Edition

既知の問題
このセクションでは、本リリースにある主な既知の問題を取り上げます。

<分析サービス>
・MB-44993
概要:次の構文では、link_dataverse_nameはオプションです。+ ---- CREATE EXTERNAL DATASET ds_dataverse_name?.ds_name ON …?AT link_dataverse_name?.link_name ---- +。link_dataverse_nameが指定されていない場合、デフォルトでデフォルトのdataverse(または以前のUSEステートメントで指定されたdataverse)になります。
回避策:外部データセットを作成する時は、link_dataverse_nameを明示的に指定してください。

・MB-44986
概要:INまたはNOT IN述部を含むフィルターを使用して作成されたデータセット(以下に示す例など)は、対応するCONNECT LINKステートメントの実行時にエラーになります。+ ---- CREATE DATASET dataset ON bucket WHERE field NOT IN ['value1', 'value2']; ----
回避策:次のように、INまたはNOT IN述語を回避するようにCREATE DATASETステートメントを再定式化します:+ ---- CREATE DATASET dataset ON bucket WHERE field <> 'value1' and field <> 'value2'; ----

修正された問題
このセクションでは、本リリースで修正された主な問題を取り上げます。

・MB-43632
概要:Analyticsデータセットの作成時にRBACユーザーがWebコンソールにアクセスできず、そのユーザーがAnalytics Adminのロールを持たない問題を修正しました。

・MB-42573
概要:複数の結合でAnalyticsクエリを実行する時のサーバー500エラーを修正しました。

・MB-42305
概要:リモートリンク認証にTLSを使用することから、SCRAM-SHAを使用することへのフォールバックが修正されました。

<クラスタマネージャ>
・MB-40375
概要:ハードフェイルオーバーまたは安全でないフェイルオーバーにより、前提条件が複数回チェックされるというまれな状態を修正しました。

<クロスデータセンターレプリケーション(XDCR)>
・MB-44182
概要:ホストが応答せず、システムの全てのファイル記述子を使用することになった時のXDCR TCP接続リークのまれなケースを修正しました。

・MB-44131
概要:パイプラインの開始がタイムアウトした時のXMEM接続リークを修正しました。

<データサービス>
・MB-44832
概要:レプリカのバックフィルの途中で接続切断すると、アボートのprepare seqnoとアボート自体の間の接続が切断された場合に、レプリケーション接続が切断される可能性があります。アボートが上書きまたはパージされるまで(メタデータパージ間隔の期間)、レプリケーションストリームは進行できませんでした。これは修正されました。

・MB-44534
概要:SetWithMeta MCBP操作は、無効なデータ型の空のドキュメントを保存できました。これはペイロードをサニタイズすることで修正され、データ型はKV不変条件に従ってRAWに設定されます。

・MB-44079
概要:エフェメラルシーケンスリストではなくHashTableバケットを反復処理するため、エフェメラルアイテムのパージがseqno順で実行されない場合があります。そのため、永続的な書き込みのコミットが対応するprepareの前にパージされることが可能でした。レプリカのvBucketが対応するコミットなしでprepareを受信した場合、vBucketがアクティブにプロモートされていれば、レプリカのvBucketはそのprepareを再コミットしようとします。これにより、新しいアクティブなvBucketと、対応するコミットを受信したレプリカのvBucketでモントニシティ例外がスローされます。

・MB-43717, MB-41406
概要:エフェメラルバケットから古いデータを削除するバックグラウンドタスクでの潜在的な競合。StaleItemDeleterタスクは、排他的アクセスを保証するための適切なロックを取得せずに、着信KV操作によって読み取られるイテレーターを更新しました。この問題はまれであると考えられており、データの競合分析中にのみ見られます。この問題に起因するエラーは、完全なCouchbase Serverインスタンスでは確認されていません。

・MB-42918
概要:永続的な書き込みがINSERT(追加)を介して実行される場合、既存のアイテムが削除され、まだ永続化されていなければ、既存のアイテムはハッシュテーブルから削除される可能性があります。GETを実行する別のクライアントがディスクからそのアイテムのフェッチをトリガーする可能性があり、返されるアイテムは、まだ永続化されていない場合にハッシュテーブルから削除された永続化されていないDELETEの論理的な先行である可能性がありました。これは、クライアントが自分の書き込みを読み取ることができないことを意味します。この問題は修正されました。

・MB-42610
概要:レプリカのvBucketがアクティブにプロモートされ、部分的なバックフィルのみを受信した場合(データ損失シナリオ)、同じCASがある場合、アイテムの後続の期限切れにより、保留中の永続的な書き込みが期限切れになる可能性がありました。これにより、将来そのキーへのルックアップまたは書き込みが発生し、memcachedがクラッシュしました。この問題は修正されました。

・MB-42607
概要:データサービスとのTLSハンドシェイク中に、ノード証明書の送信に8192バイト以上が必要な場合、ハンドシェイクは失敗します。これは修正されました。

・MB-41407
概要:nruEvictionが設定されたエフェメラルバケットのエビクション中にクラッシュする可能性があります。
クラッシュは、解放後のヒープ使用につながる競合状態の結果です。この問題はまれであると考えられており、データの競合分析中にのみ見られます。

・MB-41300
概要:ノードが同期レプリケーションの一時的な変更を受信すると、健全性チェックがレプリカでトリガーされてクラッシュを引き起こす可能性があるという潜在的な問題を修正します。

・MB-38444
概要:エフェメラルバケット上のDCPプロデューサーは、ディスクスナップショットのSnapshotMarkerで間違ったEndSeqnoをエンコードする場合があります。これは、DCPクライアントがマーカーで宣言されているものと実際のスナップショットで受信されているものとの間に不整合を確認する可能性があるというまれな状況でした。これは修正されました。

<Eventingサービス>
・MB-44637
概要:Eventingノードのリバランス中の競合状態が原因で、ミューテーションの重複が発生する可能性がありました。これは修正されました。

・MB-44016
概要:REST APIを使用してEventingステータスを取得する時にタイムアウトが発生するパフォーマンスの問題を修正しました。この問題は、機能のデプロイ数が多い(20以上)場合に発生しました。

・MB-43762
概要:デプロイ時にフィード境界または"dcp_stream_boundary"が選択されなくなりました。その値は、管理UI(またはREST API)を介して、関数ごとの永続的な設定として"Everything"または"From now"のいずれかに設定されます。これは、誤ったフィード境界に誤ってデプロイされるのを防ぎます。

・MB-43365
概要:リバランスの失敗後にEventハンドラーがデプロイ状態でハングする問題を修正しました。

・MB-43364
概要:全てのハンドラーが一時停止状態からアンデプロイされた場合でも、メタデータバケットがクリアされない問題を修正しました。

・MB-42804
概要:同じバインディングを持つ同じハンドラーがREST APIを介してデプロイされた時に、Eventingサービスがハンドラー間再帰エラーをスローしなかった問題を修正しました。

・MB-42498
概要:バケットが削除され、リバランスがトリガーされた時に、関数がデプロイ状態でスタックする問題を修正しました。

・MB-42497
概要:パニックを引き起こすロールバック時のアンデプロイとvBucketリストリーム間の競合状態を修正しました。

・MB-38403
概要:ガベージコレクション時にN1QLイテレーターを閉じて、ユーザーが閉じるのを忘れたリソースを解放する問題を修正しました。

<インデックスサービスとビュー>
・MB-45541
概要:プロジェクターの古いvBucketマップにより、KVリバランス中にstale=falseスキャンがタイムアウトしました。これは修正されました。

・MB-44409
概要:DDLServiceMgrがレプリカを使用してパーティションインデックスを作成するのに長い時間がかかる問題を修正しました。

・MB-43959
概要:クラスター情報キャッシュの更新は、バージョンハッシュの変更時にのみbuckets.uriエンドポイントにクエリを実行することで最適化されています。

・MB-43766
概要:インデックスビルドトークンは、リバランス中にのみクリーンアップされました。これは更新されたため、インデックスビルドトークンはインデックスの削除時に定期的にクリーンアップされ、ライフサイクルマネージャーの管理人によってもクリーンアップされます。

・MB-43764
概要:インデックスプロジェクションに全てのキーとそのドキュメントキーが含まれている場合に、パーティションインデックスの順序が守られない問題を修正しました。

・MB-43280
概要:listReplicaCountが10秒以上かかり、タイムアウトする問題を修正しました。

・MB-43072
インデクサーからプロジェクターへの接続がタイムアウトする原因となっていたconnectBucket関数の遅延を修正しました。

<クエリサービス>
・MB-45273
概要:OR条件を含むクエリでプライマリインデックススキャンが誤って使用されていた問題を修正しました。

・MB-44979
概要:読み取り時にタイムアウトした接続は破棄されるようになりました。

・MB-44331
概要:交差スキャンを使用したANSI JOINが結果を返さない問題を修正しました。

・MB-43488
概要:UNNESTエイリアスを使用したアダプティブインデックスが誤った結果を返す問題を修正しました。

・MB-43384
概要:setupSSL()が失敗し、クエリの実行に影響を与える問題を修正しました。

・MB-43301
概要:ドキュメントを内部でコピーすることが正しく行われなかった問題を修正しました。UPDATE、DELETE、およびUPDATEまたはDELETEを使用したMERGEの場合、間違ったドキュメントを削除することによりデータが失われる可能性がありました。JOIN、LET、およびUNNESTの場合、meta().idで結合したり、meta().idを投影したりすると、誤った結果が返される可能性がありました。

<検索サービス>
・MB-44485
概要:プランとディレクトリ間のハッシュの不一致が原因で発生したリバランスの失敗を修正しました。

・MB-43423
概要:高負荷時にリバランス統計モニターが失敗する問題を修正しました。

・MB-43421
概要:バケットの削除時にインデックスが削除されない問題を修正しました。

・MB-42989
概要:整合性ベクター検索リクエストによるパーティションUUIDの誤った初期化を修正しました。

<ツール、Webコンソール (UI)、REST API>
・MB-44925
概要:代替アドレス指定が設定されている時に、cbbackupmgrユーティリティが誤ったネットワークポートを使用するケースを修正しました。

・MB-44580
概要:cbtransferユーティリティを使用してクラスタからデータを転送する時に、フラグ-x uncompress=1が期待どおりに動作することを確認する問題を修正しました。

・MB-44451
概要:管理コンソールに、非常に長いバケット名を区別するのに役立つツールチップが表示されるようになりました。

・MB-43630
概要:cbbackupmgrユーティリティは、S3 Web UIの'Create folder'(フォルダの作成)ボタンによって作成される空のディレクトリを正しく処理するようになりました。

・MB-43611
概要:cbimportユーティリティは、デフォルト以外の値で始まるMONO_INCRを処理するようになりました。

・MB-43134
概要:Windowsでcbbackupmgrマージが"file is being used by another process"というエラーで失敗する問題を修正しました。

・MB-42967
概要:cbrestoreユーティリティがトランザクションデータの途中でバックアップの復元に失敗する問題を修正しました。

・MB-42782
概要:cbbackupmgrユーティリティは、vBucketデータファイルのストリーミング中に'connection reset by peer'エラーを再試行するようになり、大規模な復元を期待どおりに完了できるようになりました。

・MB-42479
概要:cbbackupmgr AWS SDK HTTPクライアントが予期しない短いタイムアウトを課す問題を修正しました。これには、応答本文を読み取ると、タイムアウトに達したことが原因で大規模な復元が失敗することが含まれます。

・MB-39998
概要:cbtransferユーティリティは、Couchstoreからライブクラスタに転送する時に、snappyデータ型を正しく処理するようになりました。

Couchbase Server 6.6.2 リリースノート(Couchbase社ウェブサイト):
https://docs.couchbase.com/server/current/release-notes/relnotes.html

Couchbaseサブスクリプション

CouchbaseCouchbaseサブスクリプションは、データベースSEによる日本語でのテクニカルサポートを付属した、公式サブスクリプションサービスです。

Couchbaseの詳細