DataStax Enterprise 6.7のリリース・ノート

DataStax Enterpriseのリリース・ノートでは、DataStax Enterprise 6.7.xのクラスター要件、アップグレードに関するアドバイス、コンポーネント、セキュリティに関する更新内容、変更点と機能強化、問題点、および解決済みの問題を取り上げています。

DataStax Enterpriseのリリース・ノートでは、DataStax Enterprise(DSE)6.7.xのクラスター要件、アップグレード・ガイダンス、コンポーネント、セキュリティに関する更新内容、変更点と機能強化、および問題点、解決済みの問題を取り上げています。

同じライセンスの付与に関する要件

各クラスター内のすべてのノードには、同じサブスクリプションを使用するように同じライセンスが付与されていなければなりません。たとえば、あるクラスターに5つのノードがある場合、そのクラスター内の5つのノードはすべてApache CassandraのDataStaxディストリビューションであるか、すべてDataStax Enterpriseでなければなりません。1つのクラスター内に異なるサブスクリプションを混在させることはできません。DataStax Advanced Workloads Packは、任意のDataStax Enterprise(Apache CassandraのDataStaxディストリビューションではない)クラスターに増分的に追加できます。たとえば、10ノードのDSEクラスターを拡張して、3ノードのAdvanced Workloads Packを含めることができます。「クラスター」とは、ソフトウェアを実行し、gossipを使用して相互に通信し合うノードのコレクションです。「エンタープライズ条件」を参照してください。

アップグレードの前に

アップグレードに関するアドバイス 互換性
メジャー・バージョンにアップグレードする場合は、まず現行バージョンの最新のパッチ・リリース(6.7.6)にアップグレードします。アップグレード関連ドキュメントを必ずお読みください。 次のバージョンからのDSE 6.7へのアップグレードがサポートされています。
お使いの製品の互換性のページをご確認ください。 DSE 6.7は次の製品との互換性があります。
DataStaxドライバーのアップグレード」を参照してください。 DataStaxドライバー:クライアント・アプリケーション・コードの再コンパイルが必要になる場合があります。
データの読み込みおよびアンロードには、DataStax Bulk Loaderをご利用ください。 Apache Cassandra 2.1以降のデータ・ソースからDSE 5.0 以降にデータを読み込みます。

DSE 6.7.4リリース・ノート

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

2019年6月27日

1. DSEの機能
6.7.4 DSEコア 6.7.4 DSE Graph
6.7.4 DSE Analytics 6.7.4 DSE Search
6.7.4 DSEFS

6.7.4のコンポーネント

DSE 6.7.4のすべてのコンポーネントが一覧表示されます。DSE 6.7.4用に更新されたコンポーネントは、アスタリスク(*)で示されます。
  • Apache Solr 6.0.1.1.2472 *
  • Apache Spark 2.2.3.4
  • Apache TinkerPop 3.3.7(プロダクション環境で認定済みの変更点が追加)*
  • Apache Tomcat® 8.0.53
  • DSE Java Driver 1.7.0
  • Netty 4.1.25.4.dse
  • Spark Jobserver 0.8.0.45 DSEカスタム・バージョン

DSE 6.7.4はApache Cassandra 3.11と互換性があり、プロダクション環境で認定済みの変更点が追加されています。

DSE 6.7.4のハイライト

DSE 6.7.4にアップグレードする価値の高い利点には、次のようなハイライトがあります。

DSEデータベース(DSEコア)のハイライト

  • ネイティブ・メモリー、チャンク・キャッシュ、および非同期読み取りタイムアウトの大幅な修正と改善。
  • ミューテーションがサイズしきい値を超えたときに拒否されるクライアント、キースペース、テーブル、およびパーティション・キーを識別するロギングを改善しました。(DB-1051)
  • 軽量トランザクション(LWT)処理を改善しました。(DB-3018)
  • カウンター・キャッシュを読み取る際の起動時のハングを防ぎます。(DB-3050)
  • 新しい構成可能なメモリー・リーク・トラッキング。(DB-3123)
  • ゴシップ・エコー要求を送信するときに保留中のエコーを増やすことで問題を修正しました。(DB-3187)
  • tarボールのインストールを使用して、リモートJMXアクセスを持つ同じ物理サーバー上に2つのインスタンスを作成するときにエラーが発生する問題を修正しました。(DB-2483)
  • nodesync検証リストのステータス・レポートを改善しました。(DB-2707)
  • ノードがクラスター内の他のノードからスキーマを取得できない場合、ブートストラップが失敗するようになりました。(DB-3186)
  • DSEの起動中にコミット・ログからスキーマの変更を再生する際のデッドロックを防ぐ問題を修正しました。(DB-3190)

DSE Analyticsのハイライト

  • DSE認証が有効になると、Sparkセキュリティが強制的に有効になります。(DSP-17274)
  • dse.yaml構成ファイルでSparkセキュリティが有効になる。(DSP-17271)

DSE Graphのハイライト

  • gremlin-consoleの起動時間を改善しました。(DSP-11550)
  • DseGraphFrameがクラスター間でグラフを直接コピーできない問題を修正しました。さまざまなグラフ・オブジェクトのクラスターと接続構成を動的に渡すことができるようになりました。(DSP-18605)
  • BYOS(Bring Your Own Spark)でDseGraphFrameを使用してマルチ・エッジを挿入する際に、UnsatisfiedLinkErrorエラーが発生する問題を修正しました。(DSP-18916)
  • DSE Graphが、Search/.has()述語でプライマリ・キー述語を使用しない。(DSP-18993)
  • valueMap()で同じ名前のプロパティ・キーによってT値が非表示になる問題を修正しました。(DSP-19261)
  • TPCスケジューラーでグラフSolrクエリーが実行されない場合がある問題を修正しました。(DSP-18898)

DSE Searchのハイライト

  • 検索クエリーのパフォーマンスの向上と過負荷保護。(DSP-15875)
  • Cassandraの行に対応するSolr削除のパフォーマンスの改善。(DSP-17419)
  • queryExecutorThreadsとtimeAllowedが設定されているとFQが破損する問題を修正しました。(DSP-18717)
  • STATICセット・カバー・ファインダーを使用してシャード要求の不均一な分散を修正するための変更。(DSP-18197)
  • 新しいLowerCaseStrField Solrフィールド型を使用した、大文字と小文字を区別しないテキスト検索、ファセット、グループ化、およびソートの新しい推奨方法。この型は、フィールド値を小文字として設定し、docValuesに小文字として格納します。(DSP-18763)

6.7.4 DSEコア

変更点と機能強化:

  • ミューテーションがサイズしきい値を超えたときに拒否されるクライアント、キースペース、テーブル、およびパーティション・キーを識別するロギングを改善しました。(DB-1051)
  • nodesync検証リストのステータス・レポートを改善しました。(DB-2707)
  • DDLステートメントを含むCQLファイルを使用して、SSTableをアップグレードおよびダウングレードを有効にして、スキーマを再作成します。(DB-2951)
  • 軽量トランザクション(LWT)パフォーマンスを改善しました。新しい cassandra.yamlLWT構成オプション。(DB-3018)
  • DSEの起動中にコミット・ログからスキーマの変更を再生する際のデッドロック。(DB-3190)
  • TPCバックプレッシャー・キューからの要求が長すぎた場合、要求を拒否する。(DSP-15875)

解決済みの問題点:

  • 分離されたIPポートを7199にバインドしてリモートJMXアクセスで同じ物理サーバー上に2つのインスタンスを作成するtarボールのインストールは、com.sun.management.jmxremote.hostが無視されるため、既に使用中のアドレスのJMXエラー(バインド失敗)を引き起こす。(DB-2483)
  • 暗号化を使用すると、起動が遅くなるか、ノードがハングする。(DB-3050)
  • cqlsh EXECUTE ASコマンドが機能しない。(DB-3098)
  • DSEが、最大65535バイトを超えるバッファーにシリアライズを試みるエラーにより起動に失敗する。コミットログの破損の回避策を特定するためのエラーを改善しました。(DB-3162)
  • 一時バッファー・プールのAssertionErrorにより、CorruptSSTableExceptionが発生する。(DB-3172、DB-3174)
  • 読み取り時のエラーのメモリ・リーク。(DB-3175)
  • ノードがクラスター内の他のノードからスキーマを取得できない場合、ブートストラップが失敗する。(DB-3186)
  • ゴシップ・エコー要求を送信するときに保留中のエコーを増やす。(DB-3187)
  • sstabledowngradeには、別の出力場所のスナップショット・フォルダーへの書き込みアクセスが必要です。(DB-3231)

6.7.4 DSE Analytics

変更点と機能強化:

  • DSE認証が有効になっているが、Sparkセキュリティが有効になっていない場合は、警告メッセージが表示されます。(DSP-17273)
  • DSE認証が有効になると、Sparkセキュリティが強制的に有効になります。(DSP-17274)
    dse.yaml スパーク・セキュリティの適用
    authentication_options enabled: trueの場合
    spark_security_enabled この設定は無視されます。
    spark_security_encryption_enabled この設定は無視されます。

既知の問題点:

  • Sparkセキュリティ・オプションdse.yamlで設定されていない場合、ネイティブCQLプロトコル認証は、Netty RPCクライアントへの直接アクセスで回避できます。このアクセスはSparkアプリケーションの実行に失敗しますが、Spark RPCを使用してNettyポート7077が開いているシステムでは、CQL認証をバイパスできます。(DSP-17271)
    解決策:dse.yamlSparkセキュリティ・オプションを構成します。
    spark_shared_secret_bit_length: 256
                  spark_security_enabled: true
                  spark_security_encryption_enabled: true

解決済みの問題点:

  • WebHDFSインターフェイスを介してSparkからファイルにアクセスすると、次のメッセージが表示されて失敗する。java.io.IOException: Content-Length is missing. (DSP-18559)
  • BYOS DSEFSアクセスは、dseauth_internal_no_otherschemesのAuthenticationExceptionで失敗する。(DSP-18822)
  • 多くのSparkアプリを送信すると、system_auth.role_permissionsテーブルに定義されているデフォルトの90日gc_grace_secondsの前にデフォルトのtombstone_failure_thresholdに到達する。(DSP-19098)

6.7.4 DSEFS

解決済みの問題点:

6.7.4 DSE Graph

変更点と機能強化:

解決済みの問題点:
  • DseGraphFrameがクラスター間でグラフを直接コピーできない。さまざまなグラフ・オブジェクトのクラスターと接続構成を動的に渡すことができるようになりました。(DSP-18605)
    以前のバージョンの回避策:
    1. グラフをDSEFSにエクスポートします。
      g.V.write.format("csv").save("dsefs://culster1/tmp/vertices")
      g.E.write.format("csv").save("dsefs://culster1/tmp/edges")
    2. グラフを他のクラスターにインポートします。
      g.updateVertices(spark.read.format("csv").load("dsefs://culster1/tmp/vertices")
      g.updateEdges(spark.read.format("csv").load("dsefs://culster1/tmp/edges")
  • 頂点ラベルがプロパティをキャッシュするように設定されている場合に、検索インデックスのクエリーを発行する。(DSP-18898)
  • BYOS(Bring Your Own Spark)でDseGraphFrameを使用してマルチ・エッジを挿入する際に、UnsatisfiedLinkErrorエラーが発生する。(DSP-18916)
  • DSE Graphが、Search/.has()述語でプライマリ・キー述語を使用しない。(DSP-18993)
  • valueMap()で同じ名前のプロパティ・キーによってT値が非表示になる。(DSP-19261)

6.7.4 DSE Search

変更点と機能強化:

  • STATICセット・カバー・ファインダーを使用してシャード要求の不均一な分散を修正するための変更。(DSP-18197)
    • shard.set.cover.finderのデフォルトが、DYNAMICからSTATICに変更されます。アップグレード後、以下の方法で元の動作を復元できます。
      dsetool set_core_property keyspace_name.table_name shard.set.cover.finder=DYNAMIC
    • dsetool set_core_propertyの新しい慣性パラメーターは、微調整をサポートします。デフォルト値の1は、vnodeと10個を超えるノードがある環境に合わせて調整できます。
  • 新しいLowerCaseStrFieldカスタムSolrフィールド型を使用した、大文字と小文字を区別しないテキスト検索、ファセット、グループ化、およびソートの新しい推奨方法。この型は、フィールド値を小文字として設定し、docValuesに小文字として格納します。(DSP-18763)
    注: DataStaxは、solr.KeywordTokenizerおよびsolr.LowerCaseFilterFactoryTextField Solrフィールド型を使用して、CQLテキスト・フィールドで大文字と小文字を区別しない単一トークンのインデックス作成をサポートしていません。

解決済みの問題点:

  • SASIクエリーが、行レベル・アクセス制御(RLAC)を持つテーブルで機能しない。(DB-3082)
  • キー要素の値がSolr予約語に等しい場合、ドキュメントがインデックスから削除されない場合がある。(DSP-17419)
  • queryExecutorThreadsおよびtimeAllowedが設定されていると、FQが破損する。(DSP-18717)
  • 存在しないフィールド・リスト(fl)フィールドを持つSolrクエリーでは、タイムアウトではなく、検索がエラーで終了する。(DSP-18218)
  • ライブ・インデックス作成(RTまたはリアルタイム・インデックス作成とも呼ばれます)を使用しているときに、大量のファセット・クエリーのインデックス作成と実行を同時に行うと、競合状態がトリガーされることがある。競合状態がアサーションに失敗すると、サーチャーを開くことができず、インデックスが不整合な状態のままになる。(DSP-18786)

DSE 6.7.4向けのCassandraの機能強化

DataStax Enterprise 6.7.4はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの拡張機能が追加されています。

DataStax Enterprise 6.7.4はApache Cassandra 3.11との互換性があり、以前のバージョンに対して、プロダクション環境で認定済みの機能が追加されています。

DSE 6.7.4のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.4のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.4はCassandra 3.11と互換性があります。以前のバージョンからのすべてのアップグレードに関するアドバイスが適用されます。DataStax Enterpriseアップグレード計画およびアップグレード手順を細かく確認しておくと、スムーズなアップグレードが保証され、不備や不満が生じるのを避けることができます。

DSE 6.7.4のTinkerPopの変更点

DataStax Enterprise 6.7.4に含まれている、Apache TinkerPop 3.3.73.3.6のプロダクション環境で認定済みの変更点のリスト。

DataStax Enterprise(DSE)6.7.4には、それより前のDSEバージョンのすべての変更点と、Apache TinkerPop 3.3.7に加えられたプロダクション環境で認定済みの以下の変更点が含まれています。すべての変更点については、TinkerPopのアップグレード・ドキュメントを参照してください。

  • gremlin-javascript用のDSLパターンを開発しました。
  • Gremlin Console用にuberjarアーチファクトを生成しました。
  • property()ステップの関連するミューティング・ステップへの折りたたみを改善しました。
  • DSL TraversalSourceで生成されたステップにinject()を追加しました。
  • Gremlin Consoleからgperfutilsの依存関係を削除しました。
  • 頂点ラベルを設定し、includeMetaPropertiestrueに設定したときのPartitionStrategyを修正しました。
  • ディレクトリーにスペースが含まれている場合に、gremlin.shが機能するようにしました。
  • サーバーでメタデータの生成が失敗した場合に、クライアント側がハングするのを防止しました。
  • 切り離しが正しく行われなかったaddE()に関連するEventStrategyのバグを修正しました。
  • ディレクトリーにスペースが含まれている場合に、gremlin.shが機能するようにしました。
  • 埋め込みコレクション・オブジェクトがそのプロセスを妨げるPathの切り離しのバグを修正しました。
  • Gremlin Consoleで長時間実行されているプロセスを中断するためにctrl+cを有効にしました。
  • ドライバーとGremlin Consoleの両方に対する"host unavailable"の警告を修正しました。
  • gremlin-javascriptの配列からのg:Listの構築を修正しました。
  • クラス定義に関するGremlinGroovyScriptEngineインタープリター・モードのバグを修正しました。
  • EdgeLabelVerificationStrategyを実装しました。
  • GLV内のwithin()およびwithout()Pの動作を修正して、可変引数を使用するときにJavaと一致するようにしました。
  • Gremlin Consoleで例外が発生したの後の入力バッファーを消去しました。
  • Gremlin-javascript clientコンストラクターでprocessorを構成するパラメーターを追加しました。
  • Dockerイメージは、rootユーザーの代わりにgremlinユーザーを使用するようになりました。
  • common-lang3のみを使用するようにcommons-langの使用をリファクタリングしました。依存関係では引き続きcommons-langを使用できます。
  • commons-lang3を3.8.1にバンプしました。
  • gremlin-pythonに、Duration、Char、ByteBuffer、Byte、BigInteger、およびBigDecimalのGraphSONシリアライズのサポートを追加しました。
  • profile()が呼び出されたことをステップに通知できるように、ProfilingAwareインターフェイスを追加しました。
  • group()に削減バリアが含まれている場合に、profile()が負のタイミングを生成する可能性のあるバグを修正しました。
  • Javaドライバー接続のデッドまたはアライブ状態を決定するロジックを改善しました。
  • デッド接続の処理とホストの可用性を改善しました。
  • httpclientを4.5.7にバンプしました。
  • slf4jを1.7.25にバンプしました。
  • commons-codecを1.12にバンプしました。
  • gremlin-pythonで認証を使用する場合の部分応答エラーを修正しました。
  • 開始ステップとしてaddE()がパーティションを適用しなかったPartitionStrategyのバグを修正しました。
  • Method.getParameters()の呼び出しを減らすことにより、JavaTranslatorのパフォーマンスを改善しました。
  • range()を使用するクエリーのバックエンド操作を大幅に削減すると予想されるEarlyLimitStrategyを実装しました。
  • Bytecodeとその内部クラスでのハッシュ衝突の可能性を減らしました。
  • await ... ofループ(非同期イテラブル)のサポートを提供するTraversalクラスにSymbol.asyncIteratorメンバーを追加しました。

バグの修正:

  • TINKERPOP-2081 PersistedOutputRDDが、Spark 2.xでrddを遅延して具体化する。
  • TINKERPOP-2091 StructureStandardTestSuiteの機能要件が間違っているか、欠落している。
  • TINKERPOP-2094 Gremlin Driver Cluster Builderシリアライザー・メソッドが提案されているmimeTypeを使用しない。
  • TINKERPOP-2095 GroupStepが無関係なバリア・ステップを探す。
  • TINKERPOP-2096 gremlinpython:結果を受け取る前に接続が閉じられるとAttributeErrorが発生する。
  • TINKERPOP-2100 order()で使用されると、coalesce()が予期しない結果を生成する。
  • TINKERPOP-2105 Gremlin-Python接続がGremlin Serverからの例外でプールに戻されない。
  • TINKERPOP-2113 P.Within()が、List引数を指定すると機能しない。

改善点:

  • TINKERPOP-1889 JavaScript GLV:接続のタイムアウトを防ぐためにハートビートを使用する。
  • TINKERPOP-2010 gremlin-javascriptのjsdocを生成する。
  • TINKERPOP-2013 自動的に無視される問題のあるテストを処理する。
  • TINKERPOP-2018 Gremlin.NetのAPIドキュメントを生成する。
  • TINKERPOP-2038 groovyスクリプトのキャッシュ・サイズを設定可能にする。
  • TINKERPOP-2050 :bytecodeコマンドをGremlin Consoleに追加する。
  • TINKERPOP-2062 CoreImportsにTraversalクラスを追加する。
  • TINKERPOP-2065 リモート探索用にiterate()を最適化する。
  • TINKERPOP-2067 Gremlin.Net.Driver.IGremlinClientから生データを取得できるようにする。
  • TINKERPOP-2068 Jackson Databind 2.9.7をバンプする。
  • TINKERPOP-2069 Gremlin.Netの構成を文書化する。
  • TINKERPOP-2070 gremlin-javascript:接続表現を導入する。
  • TINKERPOP-2071 gremlin-python:g:Setのgraphsonデシリアライザーはpythonセットを返す必要がある。
  • TINKERPOP-2073 静的コード・ブロックのタブを生成する。
  • TINKERPOP-2074 現在のバージョンのNuGetパッケージのみがプッシュされるようにする。
  • TINKERPOP-2077 VertexProgram.Builderには、Graphのないデフォルトのcreate()メソッドが必要である。
  • TINKERPOP-2078 TraversalSource構築のためのより統一されたメソッドの背後にあるEmptyGraphまたはRemoteGraphの使用を非表示にする。
  • TINKERPOP-2084 コンソールのリモート要求の場合、リモート・スタック・トレースを表示する。
  • TINKERPOP-2092 デフォルトのGraphSONシリアライザー・フィールドを廃止する。
  • TINKERPOP-2097 初期化されたクライアントでDriverRemoteConnectionを作成する。
  • TINKERPOP-2102 リモート処理に関連するTraversalSourceの静的フィールドを廃止する。
  • TINKERPOP-2106 gremlinがタイムアウトを実行すると、TraversalInterruptedException/InterruptedIOExceptionの代わりにTimeoutExceptionをスローする。
  • TINKERPOP-2110 (/gremlinから)異なるパスでの接続を許可する。
  • TINKERPOP-2114 一般的なGremlinのアンチパターンを文書化する。
  • TINKERPOP-2118 Groovy 2.4.16にバンプする。
  • TINKERPOP-2121 Jackson Databind 2.9.8をバンプする。

DSE 6.7.3リリース・ノート

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

2019年4月23日

2. DSEの機能
6.7.3DSEコア 6.7.3 DSE Graph
6.7.3 DSE Analytics 6.7.3 DSE Search
6.7.3 DSEFS

6.7.3のコンポーネント

  • Apache Solr 6.0.1.1.2408(更新)
  • Apache Spark 2.2.3.4(更新)
  • Apache TinkerPop 3.3.6(プロダクション環境で認定済みの変更点が追加)
  • Apache Tomcat® 8.0.53
  • DSE Java Driver 1.7.0
  • Netty 4.1.25.4.dse
  • Spark Jobserver 0.8.0.45 DSEカスタム・バージョン

DSE 6.7.3はApache Cassandra 3.11と互換性があり、プロダクション環境で認定済みの変更点が追加されています。

DSE 6.7.3のハイライト

DSE 6.7.3にアップグレードする価値の高い利点には、次のようなハイライトがあります。

DSEデータベース(DSEコア)のハイライト

  • 新しいcassandra.yaml pick_level_on_streamingオプションによりコンパクション・パフォーマンスが向上しました。(DB-1658)
  • DSEからOSS Apache Cassandraへのsstableloaderダウングレードが新しいsstabledowngradeツールでサポートされます。(DB-2756)
  • 空のパーティション・キーを使用してMV行を検証するとNodeSyncが失敗する問題を修正しました。(DB-2823)
  • nodesyncを、マテリアライズド・ビュー(MV)で有効化および無効化できます。(DB-3008)
  • アトミック性とインデックス構築のアンチコンパクション・トランザクションを修正しました。(DB-3016)
  • ディスク境界を計算する際のノード起動時のデッドロックを修正しました。(DB-3028)
  • SSTableで削除されたUDTカラムを正しく処理します。(DB-3031)

    回避策:DSE 6.0.xまたはDSE 5.0.xからのアップグレード後にSSTableのUDTに関する問題がある場合は、DSE 5.0.xで作成されたUDTを含む、または含んでいたSSTableでsstablescrub -e fix-onlyをオフラインで実行します。

  • 読み取り応答で閉じていない範囲トゥームストーンを修正しました。「DSE 6.7.3のCassandraの機能強化」を参照してください。
  • フレームのオフヒープ・キュー・サイズのデコードは、デフォルトにより構成可能で小さくなります。(DB-3047)

DSE Analyticsのハイライト

  • service.logを含む AlwaysOn SQL(AOSS)ログ・ファイルは、system.logに統合されています。(DSP-18261)
  • DseByosAuthConfFactoryで複数のホスト名を持つBYOSコネクターから複数のホストに接続するための構成をサポートします。(DSP-18231)
  • BulkTableWriterのリークを修正しました。(DSP-18513)

DSE Graphのハイライト

  • time、date、inet、およびdurationのデータ型がグラフの検索インデックスでサポートされるようになりました。(DSP-17694)
  • いくつかのマイナーなDSE GraphFrameコードを修正しました。(DSP-18215)
  • 単一ラベルの更新に対する頂点とエッジの読み込みが簡素化されたため、使いやすさが向上しました。(DSP-18404)
  • gremlin-consoleを介した操作は、匿名のパーミッションで実行されます。(DSP-18471)

DSE Searchのハイライト

次の場合にアップグレードできます。
  • タイムスタンプを、プライマリ・キーまたはプライマリ・キーの要素として使用する。(DSP-18223)
  • LUCENE-8262を検索して、Solrコアを再読み込みする必要がある。(DSP-18211)
  • ファセット クエリーでは、queryExecutorThreadsを使用する。(DSP-18237)

6.7.3DSEコア

変更点と機能強化:

  • 新しいcassandra.yaml pick_level_on_streamingオプションによりコンパクション・パフォーマンスが向上しました。(DB-1658)

    LCS(レベル化コンパクション・ストラテジ)を使用するテーブルのストリーミングされたSSTableは、ソース・ノードと同じレベルに配置され、レベルアップが可能です。ノードツールの更新やノードの置き換えなどの操作のコンパクション処理を保存するには、trueに設定します。

  • DSEからOSS Apache Cassandraへのsstableloaderダウングレードが新しいsstabledowngradeツールでサポートされます。(DB-2756)
  • バッファー・プール内の未使用のメモリー。(DB-2788)
  • バッファー・プールで使用中のメモリーは、割り当てられたメモリーと同じではありません。(DB-2904)
  • OSS Cassandra 3.xおよびDSE 5.xデータをDSE 6.0以降にストリーミングするためのsstableloaderの使用をサポートします。(DB-2909)
  • SSTableのアップグレード(sstableupgrade)とダウングレード(sstabledowngrade)用のユーザー・ツールを改善しました。(DB-2950)
  • これらのサポートされている変更に伴うメモリーの改善:
    • 構成可能なメモリーは、オフラインsstableツールでサポートされています。(DB-2955)

      これらの環境変数ツールを使用できます。

      • MAX_HEAP_SIZE - デフォルトは256 MB
      • MAX_DIRECT_MEMORY - デフォルトは((system_memory - heap_size) / 4)で、最小1 GB、最大8 GBです。

      コマンド・ラインでメモリーを指定するには:

      MAX_HEAP_SIZE=2g MAX_DIRECT_MEMORY=10g sstabledowngrade keyspace table
    • バッファー・プールと、バッファー・プールのメトリクスは現在、2つのプールに入っています。cassandra.yamlで、file_cache_size_in_mbオプションは、ファイル・キャッシュ(またはチャンク・キャッシュ)を設定し、他のすべての短期間の読み取り操作に対して新しいdirect_reads_size_in_mbオプションを設定します。(DB-2958)

      バッファー・プール・メトリクスを取得するには:

      nodetool sjk mxdump -q "org.apache.cassandra.metrics:type=CachedReadsBufferPool,name=*"
      nodetool sjk mxdump -q "org.apache.cassandra.metrics:type=DirectReadsBufferPool,name=*"

      レガシー互換性のために、org.apache.cassandra.metrics:type=BufferPoolはまだ存在し、org.apache.cassandra.metrics:type=CachedReadsBufferPoolと同じです。

    • cassandra-env.shは、jvm.optionsで、または環境変数として設定されたヒープとダイレクト・メモリー値を尊重します。(DB-2973)
      ヒープとダイレクト・メモリーの優先順位は以下のとおりです。
      • 環境変数
      • jvm.options
      • cassandra-env.shの計算
  • チャンク・キャッシュ・サイズが十分に小さい場合(システムRAM / 8以下)、AIOは自動的に無効になります。(DB-2997)
  • nodesyncは、マテリアライズド・ビュー(MV)で有効化および無効化できません。(DB-3008)
  • 多数のLWTを使用する場合の直接読み取りプール用にメモリー使用量を最適化しました。(DB-3124)

    cassandra.yamlで設定されていない場合は、direct_reads_size_in_mbのデフォルトの計算サイズは、128 MBからTPCコア・スレッドごとに2 MBに変更され、さらに非TPCスレッドで2 MBが共有されます。最大値は128 MBです。

解決済みの問題点:

  • ネイティブ・サーバーのMessage.Dispatcher.Flusherタスクが負荷が大きいと停止する。(DB-1814)
  • CommitLogの競合により、force-flush-allが失敗する可能性がある。(DB-2542)
  • 読み取り応答で範囲トゥームストーンが閉じていない。 (DB-2601)
  • DSEからOSS Apache Cassandraへのsstableloaderダウングレードはサポートされていません。新しいsstabledowngradeツールが必要です。(DB-2756)
  • 空のパーティション・キーを使用してMV行を検証するとNodeSyncが失敗する。(DB-2823)
  • バイトと比較可能になった場合、TupleType値にnullフィールドNPEがある。(DB-2872)
  • クラスター内のノードが廃止されたノードへの接続を試行し続ける。(DB-2886)
  • keepOriginalsがtrueの場合、sstableupgradeのSSTableRewriterでリファレンス・リークが発生する。(DB-2944)
  • OOMでopen()が失敗すると、hint-dispatcher file-channelが閉じない。(DB-2947)
  • ヒントとメタデータでバッファー・プールを使用できない。(DB-2958)
  • 軽量トランザクションの競合により、IOスレッドが使い果たされることがある。(DB-2965)
  • -Xmxをjvm.optionsで設定すると、DIRECT_MEMORYはシステム・メモリー全体の25%を使用して計算される。(DB-2973)
  • Netty直接バッファーにより、-XX:MaxDirectMemorySizeの制限が2倍になる場合がある。(DB-2993)
  • GCが実行されるまでバッファーがクリーンアップされないため、NIO直接メモリーが増加した。(DB-2996)
  • SSTableをDSE 5.0.14からDSE 6.0.5にアップグレードできない。(DB-3014)
  • アンチコンパクション・トランザクションにより、一時的なデータ損失が発生する。(DB-3016)
  • ディスク境界を計算する際のノード起動時のデッドロックが発生する。(DB-3028)
  • SSTableデシリアライズで削除されたUDTカラムが、DSE 5.0からのアップグレード後に破損する。(DB-3031)
  • 設定可能なフレーム数と合計バイト数により、オフヒープ・フレーム・キューが制限される。(DB-3047)
  • 複雑なネストされた型でのfrozenが誤って処理される。(DB-3081)
  • cqlsh EXECUTE ASコマンドが機能しない。(DB-3098)
  • コンパクション中にStreamingTombstoneHistogramBuilderで32ビットのintオーバーフローが生じる。(DB-3108)
  • トライ・インデックス・フローでNotInCacheExceptions(12)が多すぎる。(DB-3120)
  • 一括割り当ての一部が失敗すると、直接メモリー・リークが発生する可能性がある。(DB-3125)
  • メモリー不足(OOM)障害が発生すると、memtableアロケーターおよびバッファー・プール・メトリクスのカウンターが正しくなくなる可能性がある。(DB-3126)
  • ディスクからの読み取りがタイムアウトになると、メモリー・リークが発生する。(DB-3127)
  • RpcExecutionExceptionにより、特定のアクションを実行する権限を持たないユーザーが印刷されない。(DSP-15895)
  • BulkTableWriterでのリーク。(DSP-18513)
  • 失敗したマジック・ナンバーの検証のエラー・メッセージにリモート・ホストが表示される。(DSP-18645)

6.7.3 DSE Analytics

変更点と機能強化:

  • service.logを含む AlwaysOn SQL(AOSS)ログ・ファイルは、system.logに統合されています。(DSP-18261)
  • BYOSコネクターから複数のホストに接続するための構成をサポートします。(DSP-18231)
  • AOSSキャッシュ・テーブルへの保存キャッシュ・クエリーを含める前に、単一引用符が正しくエスケープされないと、CQL構文エラーが発生します。(DSP-18418)
  • AlwaysOn SQL(AOSS)クライアント・ツールのエラー・メッセージングを改善しました。(DSP-18409)
  • dse spark-submit --status <driver_ID>コマンドが失敗する。(DSP-18616)

解決済みの問題点:

  • クライアントからノードへのSSLを有効にしたら、すべてのSparkノードもポート7480でリッスンする必要がある。(DSP-15744)
  • dse client-tool構成のbyos-exportで、必要なSparkプロパティがエクスポートされない。(DSP-15938)
  • 認証が有効になっている場合、完了したジョブの情報の表示に関する問題が発生する。(DSP-17854)
  • ダウンロードしたSpark JARファイルが、すべてのユーザーに対して実行可能である。(DSP-17692)
  • Cassandra Sparkコネクターは、nullの場合、ネストされたUDTを拒否する。(DSP-17965)
  • CassandraHiveMetastoreが、サーバー側のフィルタリングのために述語の引用を解除しない。(DSP-18017)
  • Spark Cassandraコネクターが手動で準備したRegularStatementsを正しくキャッシュしない。「SPARKC-558」を参照してください。(DSP-18075)
  • Apache Sparkローカル権限昇格の脆弱性:CVE-2018-11760。(DB-18225)
  • 承認が有効になっている場合、AlwaysOn SQL(AOSS)UIにアクセスできない。(DSP-18236)
  • 無効なオプションにdse spark-submitコマンド・ラインのヘルプが表示される。(DSP-18293)
  • byos.jarからクラスDGFCleanerInterceptorが削除される。(DSP-18445)
  • 定期的なチェックポイントがオンの場合、Spark MLのGBTClassifierが失敗する。(DSP-18450)

既知の問題点:

  • DSE 6.7.3には、SparkRおよびPySpark 0.8.1のZeppelinとの互換性がありません。(DSP-18777)

    DSE 6.7.3に含まれているApache Spark 2.2.3.4には、パッチが適用されたプロトコルが含まれており、DSEのすべてのバージョンはScalaインタプリターと互換性があります。

    ただし、SparkRとPySparkは、Zeppelinとの通信に個別のチャネルのみを使用します。このプロトコルは、システム上の他のユーザーからの攻撃に対して脆弱であり、CVE-2018-11760で保護されていました。SparkRおよびPySpark 0.8.1のZeppelinは、Spark 2.2.2以降にこのパッチが適用されたプロトコルが含まれていることを認識せず、古いプロトコルを使用しようとするため失敗します。このプロトコルを認識するZeppelinパッチは、リリースされたZeppelinビルドでは利用できません。

    解決策:SparkRまたはPySparkを使用する場合は、DSE 6.7.3にアップグレードしないでください。DSEでパッケージ化されたSparkが保護されたプロトコルを使用できることを認識する、0.8.1以降のZeppelinリリースをお待ちください。

6.7.3 DSEFS

解決済みの問題点:

  • dse.yamlでDSEFS設定public_portを変更すると、dsefs://のデフォルト・ポートが変更される。(DSP-17962)

    ショートカットdsefs:///は、設定されたポートに関係なく、broadcastaddress:5598を誤って使用する代わりに、broadcastaddress:dsefs.public_portに自動的に解決されるようになりました。

  • weather_sensorsデモが更新され、dse fs hadoopの代わりに、ネイティブDSEFSコマンドが使用されます。(DSP-17708)
  • DSEFSシェルの代替パスの処理を修正して、mkdirおよびlsコマンドのwildcardサポートを提供します。(DSP-17768)
    たとえば、1つのコマンドで複数のサブディレクトリーを作成するには、以下の手順に従います。
    dse fs mkdir -p /datastax/demos/weather_sensors/{byos-daily,byos-monthly,byos-station}
    dse fs mkdir -p {path1,path2}/dir
  • fileSystem.setOwnerメソッドを使用したファイルのグループ所有権の変更に関する問題。(DSP-18052)

6.7.3 DSE Graph

変更点と機能強化:

  • spark.cassandra.output.ignoreNullsパラメーターのデフォルトは、DSE Graph Framesのエッジ更新に対してtrueになりました。この設定をオーバーライドするには、spark.cassandra.output.ignoreNullsプロパティをfalseに設定します。(DSP-17377)
  • 頂点と、特にエッジの読み込みが簡素化されました。idColumn関数は不要になりました。(DSP-18404)

既知の問題点:

  • キャッシュベースの頂点ルックアップ中のエラーに対するエラー報告を改善しました。 AssertionError: Should not happenエラーは、たとえば、タイムアウト例外として、根本原因エラーに応じて適切に報告されます。(DSP-18254)
  • DSE Analyticsでの大規模なテーブル・スキャンを伴う潜在的なパフォーマンスの低下。V().count... and V().groupCount()...などのDSE Graph OLAP操作はほとんど影響を受けない可能性があります(< 10%)(DSP-18683)
解決済みの問題点:
  • Gremlin Consoleにエイリアスを含むグラフを削除するときのNPE。(DSP-13387)
  • OLAP探索によりパーティション・キーのプロパティが複製される。OLAP g.V().properties()が、カスタムIDを使用して、「最初の」頂点をn回出力する。(DSP-15688)
  • time、date、inet、およびdurationのデータ型がグラフの検索インデックスでサポートされていない。(DSP-17694)
  • AND演算子は、グラフ検索でOR演算子と組み合わせると無視される。(DSP-18061)
  • DSEドライバーなどのセッションレス接続を介して送信されたスクリプト間でGremlin Groovyクロージャーを共有しないようにする必要がある。(DSP-18146)
  • いくつかのマイナーなDSE GraphFrameコードを修正しました。(DSP-18215)
  • BYOSを使用したOLAPワークロードのmax_concurrent_sessions制限に達する可能性が低くなる。(DSP-18280)
    ヒント: BYOSを使用するOLAPワークロードの場合、DataStaxは、次の式をガイドラインとして使用してmax_concurrent_sessionsを増やすことをお勧めします。
    max_concurrent_sessions = spark_executors_threads_per_node x reliability_coefficient
    ここで、reliability_coefficientは1より大きく、2とRF x 2の間の最小のreliability_coefficient値である必要があります。
  • gremlin-consoleを介した操作はシステム・パーミッションで実行されますが、匿名のパーミッションで実行されます。(DSP-18471)

6.7.3 DSE Search

解決済みの問題点:

  • SASIで、古い静的行を破棄する必要がある。(DB-2956)
  • 複数のカーディナリティを持つ再帰エッジを挿入すると、トゥームストーン値が設定されたエッジが挿入される。g.updateEdges(df)を呼び出す場合、指定されたデータ・フレーム内のnullエントリ-を無視する必要がある。(DSP-17377)
  • CSV出力のSolr HTTP要求が空白である。URLでフィールド・リストが提供されていない場合、CSVResponseWriterは保存されたフィールドのみを返す。(DSP-18029)
    回避するには、URLでフィールド・リストを指定します。
    /select?q=*%3A*&sort=lst_updt_gdttm+desc&rows=10&fl=field1,field2&wt=csv&indent=true
  • Luceneファイル・チャネル・ロックを中断できないように、ノード間ハンドシェイクが失敗したときに要求スレッドを中断しないでください。(DSP-18211)
  • solr_queryのタイムスタンプPKルーティングに失敗する。(DSP-18223)
  • queryExecutorThreadsを使用すると、ファセットと統計クエリが破損する。(DSP-18237)

DSE 6.7.3向けのCassandraの機能強化

DataStax Enterprise 6.7.3はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの拡張機能が追加されています。

DataStax Enterprise 6.7.3はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの以下の機能が追加されています。

  • 読み取り応答で閉じていない範囲トゥームストーンを修正しました。ReadCommand#executeLocally()によって返されるRTマーカーを必ず終了(CASSANDRA-14515)
  • STCS、DTCS、TWCS、TMD.Topology、TypeParserにおける重大な同時実行の問題(CASSANDRA-14781)

DSE 6.7.3のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.3のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.3はCassandra 3.11と互換性があります。以前のバージョンからのすべてのアップグレードに関するアドバイスが適用されます。DataStax Enterpriseアップグレード計画およびアップグレード手順を細かく確認しておくと、スムーズなアップグレードが保証され、不備や不満が生じるのを避けることができます。

DSE 6.7.3のTinkerPopの変更点

DataStax Enterprise 6.7.3に含まれている、Apache TinkerPop 3.3.63.3.6のプロダクション環境で認定済みの変更点のリスト。

DataStax Enterprise(DSE)6.7.3には、それより前のDSEリリースのすべての変更点と、Apache TinkerPop 3.3.6に加えられたプロダクション環境で認定済みの以下の変更点が含まれています。すべての変更点については、TinkerPopのアップグレード・ドキュメントを参照してください。

  • "g"への参照を保持できるScriptEngineグローバル関数キャッシュを無効にします。その他のいくつかのマイナーなバグ修正/拡張機能も含まれています。

DSE 6.7.2リリース・ノート

DataStax Enterprise 6.7.2のリリース・ノート。

重要: DataStaxでは、ほとんどの環境について、最新のパッチ・リリースの使用を推奨しています。

2019年2月27日

6.7.2のコンポーネント

DSE 6.7.2のすべてのコンポーネントが一覧表示されます。

  • Apache Solr 6.0.1.1.2381
  • Apache Spark 2.2.2.8
  • Apache TinkerPop 3.3.5(プロダクション環境で認定済みの変更点が追加)
  • Apache Tomcat® 8.0.53
  • DSE Java Driver 1.7.0
  • Netty 4.1.25.4.dse
  • Spark Jobserver 0.8.0.45 DSEカスタム・バージョン

DSE 6.7.2は、Apache Cassandra3.11と互換性があり、以前のバージョンのすべてのプロダクション環境で認定済みの変更点が含まれています。

6.7.2で解決された問題点

  • UDTを含むDSE 5.0 SSTableが、DSE 5.1、DSE 6.0、およびDSE 6.7への移行後に破損します。(DB-2954、CASSANDRA-15035)

    DSE 5.0.xスキーマにユーザー定義型(UDT)が含まれている場合、DSEがDSE 6.7.2以降で開始されると、SSTableシリアル化ヘッダーが修正されます。

DSE 6.7.2向けのCassandraの機能強化

DataStax Enterprise 6.7.2はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの拡張機能が追加されています。

DataStax Enterprise 6.7.2はApache Cassandra 3.11との互換性があり、以前のバージョンに対して、プロダクション環境で認定済みの機能が追加されています。

DSE 6.7.2のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.2のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.2はCassandra 3.11と互換性があります。以前のバージョンからのすべてのアップグレードに関するアドバイスが適用されます。DataStax Enterpriseアップグレード計画およびアップグレード手順を細かく確認しておくと、スムーズなアップグレードが保証され、不備や不満が生じるのを避けることができます。

DSE 6.7.2のTinkerPopの変更点

DataStax Enterprise 6.7.2に含まれている、Apache TinkerPop 3.3.5のプロダクション環境で認定済みの変更点のリスト。

DataStax Enterprise(DSE)6.7.2には、Apache TinkerPop 3.3.5および以前のDSEリリースからのすべてのプロダクション環境で認定済みの変更が含まれています。すべての変更点については、TinkerPopのアップグレード・ドキュメントを参照してください。

DSE 6.7.1リリース・ノート

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

2019年2月11日

3. DSEの機能
6.7.1 DSEデータベース 6.7.1 DSE Graph
6.7.1 DSE Analytics 6.7.1 DSE Search
6.7.1 DSEFS

6.7.1のコンポーネント

DSE 6.7.1のすべてのコンポーネントが一覧表示されます。DSE 6.7.1 用に更新されたコンポーネントが表示されます。

  • Apache Solr 6.0.1.1.2381(更新)
  • Apache Spark 2.2.2.8(更新)
  • Apache TinkerPop 3.3.5(プロダクション環境で認定済みの変更点が追加)
  • Apache Tomcat® 8.0.53(更新)
  • DSE Java Driver 1.7.0(更新)
  • Netty 4.1.25.4.dse(更新)
  • Spark Jobserver 0.8.0.45 DSEカスタム・バージョン(更新)

DSE 6.7.1はApache Cassandra 3.11と互換性があり、プロダクション環境で認定済みの変更点が追加されています。

DSE 6.7.1のハイライト

DSE 6.7.1にアップグレードする価値の高い利点には、次のようなハイライトがあります。

DSEデータベース(DSEコア)のハイライト

改善点:

  • DSE Metrics Collectorは、DSEメトリクスを集計して既存の監視ソリューションと統合することによって問題解決と修復を容易にします。(DSP-17319)

重大なバグの修正:

  • デフォルトのファイル・キャッシュ設定でヒープ・メモリーの使用量が高いと思われる問題を修正しました。(DB-2865)
  • 階層化ストレージ・ユーザーに影響を与えるストリーミング操作に関連するリソース・リークを修正しました。java.lang.OutOfMemoryErrorを引き起こしているTieredRowWriterスレッドの数が多すぎる問題。(DB-2463)

DSE Analyticsのハイライト

次の場合にアップグレードできます。
  • Sparkジョブの送信中のエラー報告を改善する必要がある場合。(DSP-16359)
  • 検索が有効になっていない場合、分析の検索の改善に問題がある場合。(DSP-16465)
  • DSEFSでディレクトリを移動している場合。(DSP-17347)

DSE Graphのハイライト

次の場合にアップグレードできます。
  • DSEFS認証デモを実行する場合。(DSP-17700)
  • DSEFSノード間(ノードツーノード)認証を無効にして構成する場合。(DSP-17721)
  • Gremlinスクリプトのコンパイル時間が長い場合。(DSP-14132)
  • スキーマ要素を削除すると、OLAP探索のエラーが発生する場合。(DSP-15884)
  • グラフMBeanの新しいJMX操作を必要とする場合。(DSP-15928)
  • Gremlin Consoleで報告されるリモート例外に対するサーバー側のエラー・メッセージを要望する場合。(DSP-16375)
  • クエリーの結果に整合性がないことがある場合。(DSP-18005)
  • グラフOLAPを使用し、秘密のトークンをログ・ファイルで編集する場合。(DSP-18074)
  • 頂点ラベルIDの一部を形成する文字列プロパティにあいまいテキスト検索インデックスを作成する場合。(DSP-17386)

DSE Searchのハイライト

次の場合にアップグレードできます。
  • タイムスタンプ・パーティション・キーのインデックスを作成する場合。(DSP-17761)
  • インデックスの再作成を大量に行う場合。(DSP-17975)
  • DSE Searchを使用するテーブルで、frozenマップを使用する場合。(DSP-18073)
  • インデックス付きカラムに非ASCII文字がある場合。(DSP-17816、DSP-17961)

6.7.1 DSEコア

変更点と機能強化:

  • RF = 1またはRF = ラック数の場合、トークンの割り当ての過度の使用範囲が改善されました。(DB-1552)
  • 新しいnodetool rebuild_viewコマンドは、ローカル・データのマテリアライズド・ビューを再構築します。既存のビュー・データは消去されません。(DB-2451)
  • nodetool nodesyncservice ratesimulatorコマンドの改善されたメッセージには、単一ノード・クラスターの説明と、NodeSyncが有効になっているテーブルがない場合の説明が含まれます。(DB-2468)
  • Netty Epollライブラリを読み込めない場合のエラー・メッセージが改善されました。(DB-2579)
  • 新しい環境変数MAX_DIRECT_MEMORYは、JVMが使用できる直接メモリー(NIO直接バッファー)のcassandra.yaml値をオーバーライドします。(DB-2919)
  • グラフMBeanの新しいJMX操作。(DSP-15928)
    • adjacency-cache.size - 隣接キャッシュ・サイズ属性
    • adjacency-cache.clear - 隣接キャッシュを消去する操作
    • index-cache.size - 頂点キャッシュ・サイズ属性
    • index-cache.clear - 頂点キャッシュを消去する操作
    JMX操作はクラスター対応ではありません。環境に応じて、各ノードで呼び出します。
  • 暗号化キー・エラー報告が改善されました。(DSP-17723)

解決済みの問題点:

  • nodetool nodesyncservice enableコマンドを実行すると、NodeSyncRecord constructor assertion failedというエラーが報告されます。(DB-2280)

    回避策:DSE 6.7.1より前に、コマンドを実行してエラーなしでNodeSyncを有効にできるように、DSEを再起動して問題を解決します。

  • レベル化コンパクション・ストラテジ(LCS)を使用した場合の読み取りエラーとコンパクション・エラー。(DB-2446)
  • java.lang.OutOfMemoryErrorを引き起こしているTieredRowWriterスレッドの数が多すぎる問題(DB-2463)
  • nodetool nodesyncservice ratesimulator -deadline-overridesオプションはサポートされていません。(DB-2468)
  • nodetool gcstatsコマンド出力は、予想されるMBではなく、読み戻されたGCメトリック(バイト)を誤って出力します。(DB-2598)
  • TypeParserはスレッド・セーフではありません。(DB-2602)
  • 圧縮されていないチャンクを含む圧縮ファイルで破損が発生する可能性があります。(DB-2634)
  • nodetool garbagecollectの適用順序が正しくないため、削除対象のトゥームストーンが削除されません。(DB-2658)
  • cross_node_timeoutがtrueの場合、DSEが起動せず、Unable to gossip with any peersというメッセージが表示されます。(DB-2670)
  • 非同期JavaScript UDFのヒープおよびCPU割り当て超過の検出の信頼性がありません。(DB-2645)
  • パーミッションのないユーザーが制限付きテーブルの行を返さない場合、例外が発生します。(DB-2668)
  • 再起動後のユーザー定義型(UDT)のブレイクをインスタンス化するユーザー定義集計(UDA)。(DB-2771)
  • フェッチされていない連続ページング要求のメモリー・リーク。(DB-2851)
  • 不明なテーブルのミューテーションが見つかった場合、バッチ・リプレイが中断され、適切なバッチがスキップされます。(DB-2855)
  • 連続ページングが遅くなるエラーにより、未リリースのバッファーが残る可能性があります。(DB-2862)
  • デフォルトのファイル・キャッシュ設定でヒープ・メモリーの使用量が高くなります。(DB-2865)
  • 行レベル・アクセス制御(RLAC)のパーミッションを使用する場合の、プリペアド・ステートメント・キャッシュの問題。既存のプリペアド・ステートメントが正しく無効化されません。(DB-2867)
  • native_transport_interfacecassandra.yamlで設定されている場合、dsetoolは動作しません。(DSP-16796)

    DSE 6.7.0の回避策:代わりに、native_transport_interface_prefer_ipv6を使用してください。

  • セキュリティ:java-xmlbuilderはXML External Entity(XXE)に対する脆弱性があります。(DSP-13962)
  • KerberosプロトコルとQoPパラメーターが正しく伝搬されません。(DSP-15455)

既知の問題点:

  • UDTを含むDSE 5.0 SSTableが、DSE 5.1、DSE 6.0、およびDSE 6.7への移行後に破損します。(DB-2954、CASSANDRA-15035)
    重要: DSE 5.0.xスキーマにユーザー定義型(UDT)が含まれている場合は、少なくともDSE 5.1.13、DSE 6.0.6、またはDSE 6.7.2へアップグレードしてください。DSEがアップグレードされたバージョンで起動されると、SSTableシリアル化ヘッダーは修正されます。

6.7.1 DSE Analytics

変更点と機能強化:
  • Spark Thriftサーバーのメモリー・リーク。(DSP-17433)
  • BYOS(Bring Your Own Spark)Spark 2.3の構造化ストリーミングのサポート。(DSP-17593)
  • DSEFSノード間(ノードツーノード)認証を無効にして構成する機能を追加します。(DSP-17721)
解決済みの問題点:
  • エラー処理の改善:Spark送信されたアプリケーションからのサブミッション関連のエラーの例外のみが、Dse Spark Submit Bootstrapper Failed to Submitエラーでラップされます。(DSP-16359)
  • 検索分析Spark SQLクエリーの検索の最適化が、検索が有効になっていないデータ・センターに適用されます。検索が有効なデータ・センターから起動されたクエリーは、ターゲットのデータ・センターが検索を有効にしていない場合でも、検索の最適化を生じさせます。(DSP-16465)
  • クライアント・モードでの送信で、メイン・アプリケーション・リソース(main jar)および--jars / spark.jarsで指定されたjarのリモートjar(DSEFS)の指定がサポートされていません。(DSP-17382)
  • タイムスタンプ、UDT、およびコレクションのDirectJoin Spark SQL操作での変換が正しくありません。(DSP-17444)
  • dse spark-sql-metastore-migrateが、DSE Unified Authenticationと内部認証で機能しません。(DSP-17632)
  • Spark Web UIリダイレクトは、パスのコンポーネントをドロップします。(DSP-17877)
  • AlwaysOn SQL(AOSS)シャットダウン・サービスが呼び出されないため、ドライバー・プロセスが強制終了されません。(DSP-18039)

6.7.1 DSEFS

解決済みの問題点:

  • DSEFSは、listen_on_broadcast_addressを、cassandra.yamlで構成されるとおりにサポートしません。(DSP-17363)
  • ディレクトリをそれ自体の下に移動すると、データ損失やデータ構造孤立が発生します。(DSP-17347)
  • DSEFS は、破損したパスの解決を再試行します。(DSP-17379)
  • DSEFSの認証デモが動作しません。(DSP-17700)

6.7.1 DSE Graph

変更点と機能強化:
  • 新しいツールは、ラベルの削除や不適切なデータの読み込みなど、スキーマの変更によって引き起こされるグラフ・データの不整合を修正します。(DSP-15884)
    • DSE GraphのGremlin Console: graph.cleanUp()
    • Spark: spark.dseGraph("name").cleanUp()
  • Gremlin Consoleで報告されるリモート例外に対するサーバー側のエラー・メッセージ。(DSP-16375)
解決済みの問題点:
  • 頂点に直結されていないプロパティが、null値で表示されます。(DSP-12300)
  • Graph OLTP:Gremlinスクリプトのコンパイル時間が長くなります。(DSP-14132)
  • Graph/Searchのエスケープ修正。(DSP-17216、DSP-17277、DSP-17816)
  • キー・フィールドの検索インデックスが、非トークン化クエリーでのみ機能します。(DSP-17386)
  • Graph OLTP:潜在的なThreadLocalリソース・リーク。(DSP-17808)
  • DseGraphFrameが、ピリオド(.)などの記号を名前に含むプロパティの読み取りで失敗します。(DSP-17818)
  • DSE GraphFrame操作はキャッシュを行いますが、明示的にキャッシュを解除しません。(DSP-17870)
  • g.V().repeat(...).until(...).path()はエッジのない不完全なパスを返します。(DSP-17933)
  • gf.V().id().next()は、従来のDseGraphFrameのプロパティとのデータの不一致を引き起こします。(DSP-17979)
  • 静的データでGremlinを使用する場合の整合性の低い結果。(DSP-18005)
  • グラフOLAP:秘密のトークンがログ・ファイルでマスキングされていません。(DSP-18074)

6.7.1 DSE Search

変更点と機能強化:
  • 自動生成されたスキーマのデフォルトは、useJtsMulti="false"です。「多角形を含む空間クエリーにはJTSが必要」を参照してください。(DSP-17764)
  • dsetool reload_coreまたはREBUILD SEARCH INDEXを使用してコア・インデックスの再作成を要求した場合、ノード上のインデックスの再作成タスクのキューが構築されなくなりました。代わりに、インデックスの再作成タスクの1つの開始は、そのノードにすでに送信されているすべてのインデックス再作成要求を処理します。(DSP-17045、DSP-13030)
  • CQLタイムスタンプ・フィールドは、Solrユニーク・キーの一部にすることができます。(DSP-17761)
解決済みの問題点:
  • インデックス作成およびインデックス再作成の際、java.lang.AssertionError: rtDocValues.maxDoc=5230 maxDoc=4488エラーがsystem.logにスローされます。(DSP-17529)
  • U+3000(ideographic space)などの非ASCII文字がインデックス付きカラムにある場合、予期しない検索インデックス・エラーが発生します。(DSP-17816、DSP-17961)
  • copyFieldを使用する場合、検索インデックス・スキーマのTextField型は大文字と小文字を区別する必要があります。(DSP-17817)
  • インデックスの再作成が検出された後に、強力な自己参照ループが検出されます。(DSP-17975)
  • 「書き込み前の読み取り」の検索中に、frozenマップ・カラムの読み込みが失敗します。(DSP-18073)

DSE 6.7.1向けのCassandraの機能強化

DataStax Enterprise 6.7.1はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの拡張機能が追加されています。

DataStax Enterprise 6.7.1はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの以下の機能が追加されています。

  • 圧縮されていないチャンクを圧縮済みとして解釈する場合に、圧縮されていないチャンクを埋め込む(CASSANDRA-14892)
  • garbagecollectおよびレベル化コンパクションのための正しいSSTableソート(CASSANDRA-14870)
  • 範囲トゥームストーンのインデックスについて通知する場合は、ループ内でiter.next()を呼び出すことを回避(CASSANDRA-14794)
  • 逆イテレーターの半期限切れのRT境界のパージを修正(CASSANDRA-14672)
  • DESC順序読み取りが、パーティション内の最終のUnfilteredを返すことができない場合がある(CASSANDRA-14766)
  • 3.0 <-> 2.{1,2} messagesで削除したカラムの破損コレクションの削除を修正(CASSANDRA-14568)
  • 3.0 <-> 2.{1,2} messagesで破損した静的コレクションの削除を修正(CASSANDRA-14568)
  • parallelAllSSTableOperation(cleanup/upgradesstablesなど)の障害の対応(CASSANDRA-14657)
  • TokenMetaDataのキャッシュ読み込みのパフォーマンスを改善し、長いロックを回避(CASSANDRA-14660)
  • SELECT *ワイルドカード・クエリーの静的カラム順序を修正(CASSANDRA-14638)
  • sstableloaderは、検出されたブロードキャスト・アドレスを使用してクラスター内を接続する必要がある(CASSANDRA-14522)
  • スキーマからのUTF以外の名前を含むカラムの読み取りを修正(CASSANDRA-14468)

DSE 6.7.1のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.1のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.1はCassandra 3.11と互換性があります。以前のバージョンからのすべてのアップグレードに関するアドバイスが適用されます。DataStax Enterpriseアップグレード計画およびアップグレード手順を細かく確認しておくと、スムーズなアップグレードが保証され、不備や不満が生じるのを避けることができます。

DSE 6.7.1のTinkerPopの変更点

DataStax Enterprise 6.7.1に含まれている、Apache TinkerPop 3.3.5のプロダクション環境で認定済みの変更点のリスト。

DataStax Enterprise(DSE)6.7.1には、それより前のDSEリリースのすべての変更点と、Apache TinkerPop 3.3.5に加えられたプロダクション環境で認定済みの以下の変更点が含まれています。すべての変更点については、TinkerPopのアップグレード・ドキュメントを参照してください。

解決済みの問題点:
  • KryoShimServiceLoaderログの機密設定オプションをマスクしました。
  • TraverserSetの同時実行の問題を修正しました。

DSE 6.7.0リリース・ノート

DSE 6.7.0のコンポーネント、変更と機能強化、解決済みの問題、および既知の問題。

cassandra.yaml

cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/cassandra/cassandra.yaml
tarボール・インストール installation_location/resources/cassandra/conf/cassandra.yaml

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

2018年12月5日

6.7.0のコンポーネント

  • Apache Solr 6.0.1.1.2356
  • Apache Spark 2.2.2.5
  • Apache TinkerPop 3.3.3(プロダクション環境で認定済みの変更点が追加)
  • Apache Tomcat® 8.0.53
  • DSE Java Driver 1.7.0
  • Netty 4.1.25.4.dse
  • Spark Jobserver 0.8.0.44(DSEカスタム・バージョン)

DSE 6.7.0はApache Cassandra 3.11と互換性があり、プロダクション環境で認定済みの変更点が追加されています。

6.7.0の新機能

DataStax Enterprise 6.7の新機能」を参照してください。

6.7.0 DSEデータベース

試験段階の機能。次の機能は試験段階であり、プロダクション環境ではサポートされていません。
変更点と機能強化:
  • Javaユーザー定義関数(UDF)が改善されます。(DB-1049)
  • マテリアライズド・ビュー(MV)用の新しいエンジンが改善されます。(DB-1060)
    • パーティション・キーがベース・テーブルと同じ場合、ビュー・クラスタリング・キーで複数の非ベース・プライマリ・キーをサポートします。
    • 非プライマリ・キー・カラムで複数のフィルター表現をサポートします。
    • MVで選択されていないカラムの順序を違反した変更をサポートします。CASSANDRA-11500を参照してください。
    • MVプライマリ・キーの一部ではなく、フィルター処理されていないベース・カラムの削除を許可します。
      重要: ベース・カラム・データと対応するMVカラム・データは削除されます。
    • DSE 6.7以降で作成されたMVのみが新しいMV形式を使用します。レガシーMVをアップグレードするには、同じスキーマを使用して新しいMVを作成してビルドし、新しいMVを使用するようにアプリケーションを指定します。「マテリアライズド・ビューに関する既知の制限事項」を参照してください。
  • コレクション内の要素のTTLおよびWRITE TIMEを読み取る機能。(DB-1289)
  • 最終的な値のロギングを可能にするシステム・プロパティの集中処理。システム・ログのすべての構成フラグ値を印刷します。(DB-1556)
  • 暗号化トークン・インターフェイス標準PKCS#11キーストアのサポートを追加します。サーバーとクライアントの暗号化のための新規のcassandra.yaml およびdse.yaml オプション。(DB-1629)
  • CQL CAST関数は、INSERT INTOステートメントとUPDATEステートメントをサポートし、WHERE句で使用できます。(DB-1837)
  • オフヒープ・オブジェクトを使用する場合の割り当てを削減します。(DB-2095、DSP-17054)
  • プロトコル・バージョンの表示およびcqlshの設定を改善します。(DB-2096)
  • DSE 6.7が起動すると、DSE Metrics Collectorへのメトリクスとその他の構造化イベントの送信が自動的に開始されます。DSE Metrics Collectorはデフォルトで有効になっています。無効にするには、「DSE Metrics Collectorを無効にする」を参照してください。(DSP-15910)
  • JTS(Java Topology Suite)はDSEとともに配布されます。DSEインストールのクラスパスから、以前にインストールしたJTS JARファイルをすべて削除します。(DSP-16086)
  • cassandra.yaml およびdse.yamlを変更します。(DB-2095、DSP-17054)

    アップグレードの影響:アップグレード後および6.7.0で再起動する前に、構成ファイルを変更します。通常通り、「DataStax Enterpriseのアップグレード」の推奨事項を細かく確認して従ってください。

    アップグレード後、6.7.0で再起動する前に、廃止予定の設定を削除して、新しい設定を使用します。

  • cassandra.yaml の変更点
    memtableの設定
    廃止予定のcassandra.yaml設定
    memtable_heap_space_in_mb
    memtable_offheap_space_in_mb
    これらは、次の設定に置き換わります。
    memtable_space_in_mb

    自動memtableフラッシュのしきい値を設定するために、ヒープおよびオフヒープのスペース割り当てを制御します。計算されたデフォルトは、ヒープ・サイズの1/4です。

    変更された設定
    memtable_allocation_type: offheap_objects

    データベースがmemtableメモリーの割り当てと管理に使用するデフォルトの方法は、offheap_objectsです。

    ユーザー定義関数(UDF)のプロパティ
    廃止予定のcassandra.yaml設定
    user_defined_function_warn_timeout
    user_defined_function_fail_timeout
    これらは次の設定に置き換わります。
    user_defined_function_warn_micros: 500
    user_defined_function_fail_micros: 10000
    user_defined_function_warn_heap_mb: 200
    user_defined_function_fail_heap_mb: 500
    user_function_timeout_policy: die

    Java UDFの実行が高速であるため、設定はマイクロ秒単位で行います。新しいタイムアウトは廃止された設定と同等ではありません。

    ノード間の暗号化の設定
    廃止されるcassandra.yamlの設定
    server_encryption_options:
        store_type: JKS
    これらは次の設定に置き換わります。
    server_encryption_options:
        keystore_type: JKS
        truststore_type: JKS

    有効なタイプのオプションはJKS、JCEKS、PKCS12、またはPKCS11です。

    クライアントとノード間の暗号化のオプション
    廃止されるcassandra.yamlの設定
    client_encryption_options:
        store_type: JKS
    これらは次の設定に置き換わります。
    client_encryption_options:
        keystore_type: JKS
        truststore_type: JKS

    有効なタイプのオプションはJKS、JCEKS、PKCS12、またはPKCS11です。

    dse.yaml の変更点

    Sparkリソースおよび暗号化のオプション
    廃止されるdse.yamlの設定
    spark_ui_options:
        server_encryption_options:
        store_type: JKS
    これらは次の設定に置き換わります。
    spark_ui_options:
        server_encryption_options:
        keystore_type: JKS
        truststore_type: JKS

    有効なオプションは、JKS、JCEKS、PKCS12、またはPKCS11です。

既知の問題点:

  • UDTを含むDSE 5.0 SSTableが、DSE 5.1、DSE 6.0、およびDSE 6.7への移行後に破損します。(DB-2954、CASSANDRA-15035)
    重要: DSE 5.0.xスキーマにユーザー定義型(UDT)が含まれている場合は、少なくともDSE 5.1.13、DSE 6.0.6、またはDSE 6.7.2へアップグレードしてください。DSEがアップグレードされたバージョンで起動されると、SSTableシリアル化ヘッダーは修正されます。
  • native_transport_interfacecassandra.yamlで設定されている場合、dsetoolは動作しません。(DSP-16796)

    回避策:代わりに、native_transport_interface_prefer_ipv6を使用してください。

6.7.0 DSE Advanced Replication(DSE拡張レプリケーション)

更新はありません。

6.7.0 DSE Analytics

試験段階の機能。次の機能は試験段階であり、プロダクション環境ではサポートされていません。
変更点と機能強化:
  • Spark-SQLシェルのデフォルトのロギング動作はSTDOUTに記録されません。すべての情報は、spark-shellログ・ファイルに含まれています。(DSP-16969)
  • DSEFS RESTインターフェイスは、SPNEGOおよびKerberosデリゲーション・トークン認証を使用したKerberos認証をサポートします。(DSP-13102)
  • Spark Cassandra Connector:複数のジョブが並行して実行されている場合にリソースを管理するために、タスクごとの読み取りスロットルを設定する新しいパラメーター。(DSP-14523)
  • AlwaysOn SQL(AOSS)の推奨解像度を使用した、メッセージの記録を改善しました。(DSP-17326、DSP 17358、DSP-17533)
  • AlwaysOn SQL(AOSS):spark.sql.thriftServer.incrementalCollectのデフォルトをtrueに設定します。(DSP-17428)
  • AlwaysOn SQL(AOSS)がDSEで有効になっているかどうかをクライアントが判断する方法を提供します。(DSP-17180)
解決済みの問題点:
  • dse-connectorを使用してSparkアプリケーション・テストを実行する場合の、dse-coreとの未解決の依存関係。(DSP-17232)
  • AlwaysOn SQL(AOSS)は、以前の状態に関係なく、データ・センターの再起動時に再び自動起動を試みる必要があります。(DSP-17359)

6.7.0 DSEFS

変更点と機能強化:
  • dsefs cp -rシェル・コマンドは、再帰コピーのサポートを追加します。(DSP-10579)
  • dse hadoop fsコマンドが削除されます。代わりにdsefsコマンドを使用します。(DSP-16063、DSP-16594)

6.7.0 DSE Graph

変更点と機能強化:
  • 新しいDSE起動時のパラメーター-Ddse.consistent_replaceは、ノード交換後の新しいノードでのLOCAL_QUORUMとQUORUMの整合性を改善します。(DB-1577)

6.7.0 DSE Search

試験段階の機能。次の機能は試験段階であり、プロダクション環境ではサポートされていません。
  • dsetool index_checksで、Apache Lucene®の試験段階の機能を使用します。
変更点と機能強化:
  • 検索インデックス・スキーマ自動生成はPolygonTypeをサポートします。lenientモードは不要になりました。(DSP-16480)
  • 検索インデックス・スキーマに格納されているフラグは廃止予定となり、自動生成されたスキーマには追加されなくなりました。カスタム・スキーマにフラグが存在する場合は無視されます。(DSP-14425)

    回避策:Stored=falseは無視されるため、クエリーは予想以上に多くのカラムを返します。予想される結果をクエリーが返せるようにするには、fl=field1,field2などで返すようにフィールドを指定します。

解決済みの問題点:
  • 検索インデックスは、Point型またはLineString型の地理空間フィールドを自動的に構成します。(DSP-15811)

DataStax Studio

DataStax Bulk Loader

DSE 6.7.0向けのCassandraの機能強化

DataStax Enterprise 6.7.0はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの拡張機能が追加されています。

DataStax Enterprise 6.7.0はApache Cassandra 3.11との互換性があり、プロダクション環境で認定済みの以下の機能が追加されています。

  • DEFAULT、UNSET、MBEAN、MBEANを`ReservedKeywords`に追加(CASSANDRA-14205)
  • スキーマの移行の修正のためにユニット・テストを追加(CASSANDRA-14140)
  • nodetool describeclusterから正しいスニッチ情報を印刷(CASSANDRA-13528)
  • OutboundTcpConnectionで接続中にエラーが発生した場合にソケットを閉じる(CASSANDRA-9630)
  • CDCユニット・テストを有効にする(CASSANDRA-14141)
  • タイムアウトを回避するためにCommitLogStressTestを分割(CASSANDRA-14143)
  • コミット・ログ・チェーン・マーカーの更新を改善(CASSANDRA-14108)
  • TTLでビュー・エントリが削除されないベース・テーブル行の更新を修正(CASSANDRA-14071)
  • DynamicSnitchによって作成されるガーベージを削減(CASSANDRA-14091)
  • コミット・ログ・チェーン・マーカーの頻度を増加(CASSANDRA-13987)
  • RPMパッケージ仕様:インストールされているjarおよび構成ファイルのパーミッションを修正(CASSANDRA-14181)
  • cqlshのためのPEP8互換性を強化(CASSANDRA-14021)
  • SuperColumnテーブルのサポートを修正(CASSANDRA-12373)
  • TriggerExecutorで元の更新プログラムが見つからない問題を修正(CASSANDRA-13894)
  • 短い読み取りの保護のパフォーマンスを改善(CASSANDRA-13794)
  • 短い読み取りの保護のカウンター・アプリケーション順序を修正(CASSANDRA-12872)
  • MVタイムスタンプの問題を修正(CASSANDRA-11500)
  • 短い読み取りの保護のAssertionErrorを修正(CASSANDRA-13747)
  • バッチ・コミット・ログの使用時にゴシップ・スレッドが減速する(CASSANDRA-12966)
  • CQLSSTableWriterでネイティブ関数呼び出しを許容(CASSANDRA-12606)
  • cqlsh.py do_loginでセッション・プロパティをコピー(CASSANDRA-13847)
  • IndexSummaryRedistributionの負荷の過剰計算の問題を修正(CASSANDRA-13738)
  • stress-graphsのパスワードを難読化(CASSANDRA-12233)
  • 2.1から3.0へのアップグレード中にReverseIndexedReaderで行が削除されることがある(CASSANDRA-13525)
  • 古い形式のsstableから静的行が2度読み取られるのを回避(CASSANDRA-13236)
  • 3.0/3.XへのアップグレードでIOエラー時に発生する可能性のあるNPEを修正(CASSANDRA-13389)
  • durationデータ型を追加(CASSANDRA-11873)
  • LWT競合を適切に報告(CASSANDRA-12626)
  • stress daemon helpが正しくない(CASSANDRA-12563)
  • ALTER TYPEサポートを削除(CASSANDRA-12443)
  • 特定のレガシー範囲トゥームストーン・パターンのアサーションを修正(CASSANDRA-12203)
  • JavaScript 以外のUDFのサポートを削除(CASSANDRA-12883)
  • 無効なシステム・ロール・テーブルの処理の改善(CASSANDRA-12700)
  • クライアント暗号化によるメモリー・リークを修正するためにnettyのバージョンをアップグレード(CASSANDRA-13114)
  • 些細なログ形式エラーを修正(CASSANDRA-14015)
  • SSTabledumpがパーティションごとにJSONオブジェクトを実行できるようにする(CASSANDRA-13848)
  • AbstractCompactionStrategyから使用されていないメソッドおよび廃止予定のメソッドを削除(CASSANDRA-14081)
  • cassandra-stress のDistribution.averageを修正(CASSANDRA-14090)
  • コレクションのサイズを事前指定(CASSANDRA-13760)
  • GroupCommitLogServiceを追加(CASSANDRA-13530)
  • 初期マテリアライズド・ビュー・ビルドの並列化(CASSANDRA-12245)
  • 動作が定まらないSecondaryIndexManagerTest.assert[Not]MarkedAsBuiltを修正(CASSANDRA-13965)
  • LWTがすべての要求で結果セット・メタデータを送信(CASSANDRA-13992)
  • 動作が定まらないindexWithFailedInitializationIsNotQueryableAfterPartialRebuildを修正(CASSANDRA-13963)
  • リーフ専用イテレーターの導入(CASSANDRA-9988)
  • StatusLoggerへの同時呼び出しを1回のみ許可(CASSANDRA-12182)
  • 特殊な機能インターフェイスへのリファクタリング(CASSANDRA-13982)
  • 推測的再試行で、よりわかりやすいパラメーターを許可(CASSANDRA-13876)
  • 互換性のないノードとの修復メッセージの送受信を行う場合は例外をスロー(CASSANDRA-13944)
  • MessageDigestの使用をGuavaのHasherに変更(CASSANDRA-13291)
  • ヒンテッド・ハンドオフ・ウィンドウを印刷するためのnodetoolコマンドを追加(CASSANDRA-13728)
  • 静的分析によって発生するいくつかのアラートを修正(CASSANDRA-13799)
  • チェックサムSSTableメタデータ(CASSANDRA-13321、CASSANDRA-13593)
  • 準備済みステートメントMD5ハッシュ計算に結果セット・メタデータを追加(CASSANDRA-10786)
  • --hosts、--force、およびサブ範囲リペアのインクリメンタル・リペアのサポートを追加(CASSANDRA-13818)
  • ボックス化を回避するためのGcCompactionTestのリファクタリング(CASSANDRA-13941)
  • JmxHistogramsで最近のヒストグラムを公開(CASSANDRA-13642)
  • cassandra-stressのSERIALおよびLOCAL_SERIALサポートを追加(CASSANDRA-13925)
  • LCSによるL0 STCSの候補の複数回にわたる不必要なチェック(CASSANDRA-12961)
  • ストリーム・セッション終了時にnettyチャネルを正しく閉じる(CASSANDRA-13905)
  • lz4を1.4.0に更新(CASSANDRA-13741)
  • OOMを防止するため、MVリペア・ストリーミング中にベース・パーティションを抑制(CASSANDRA-13299)
  • 短い読み取りの保護のパフォーマンスを改善(CASSANDRA-13794)
  • 短い読み取りの保護のAssertionErrorを修正(CASSANDRA-13747)
  • L0のSTCSのコンパクションしきい値を使用(CASSANDRA-13861)
  • min_compress_ratio: 1、および1未満を許可しない問題を修正(CASSANDRA-13703)
  • SASIタイムアウト例外に追加情報を追加(CASSANDRA-13677)
  • CompactionStrategyManager.getScanners同期の作り替え(CASSANDRA-13786)
  • バッチ動作、TTL、タイムスタンプの単体テストを追加(CASSANDRA-13846)
  • スキーマ検証の例外にキースペースとテーブルの名前を追加(CASSANDRA-13845)
  • トゥームストーンの失敗および警告しきい値の場合にメトリックを表示(CASSANDRA-13771)
  • 関連クラスのノードツールを使用してログ・レベルを変更できるようにする(CASSANDRA-12696)
  • LWTでストレス・プロファイルyamlを追加(CASSANDRA-7960)
  • ByteBufsで動作する場合のメモリー・コピーとオブジェクトの作成を削減(CASSANDRA-13789)
  • mx4j構成を簡素化(CASSANDRA-13578)
  • 4.0のトリガーの例を修正(CASSANDRA-13796)
  • 最小タイムアウト値を強制(CASSANDRA-9375)
  • リペア済みまたは未リペアのバイトをnodetool tablestatsに追加(CASSANDRA-13774)
  • SSTableが残っている場合は、インクリメンタル・リペア・セッションを削除しない(CASSANDRA-13758)
  • 保留中のリペア・マネージャ・インデックスの許容範囲外チェックを修正(CASSANDRA-13769)
  • RF=1の場合はRangeFetchMapCalculatorを使用しない(CASSANDRA-13576)
  • RangeFetchMapCalculatorで些細な範囲を最適化しない(CASSANDRA-13664)
  • 新しいThread(..).start()の代わりに、リペア・コマンドにExecutorServiceを使用する(CASSANDRA-13594)
  • アンチコンパクションの競合/リファレンスのリークを修正(CASSANDRA-13688)
  • PendingRepairManagerの競合/リファレンスのリークを修正(CASSANDRA-13751)
  • ppc64leランタイムをサポートされていないアーキテクチャーとして有効にする(CASSANDRA-13615)
  • sstablemetadata出力を改善(CASSANDRA-11483)
  • レガシー・ユーザーをロールに移行するためのサポートを廃止(CASSANDRA-13371)
  • リペアのエラー・メトリクスを導入(CASSANDRA-13387)
  • AuthCacheのプリミティブ特殊機能インターフェイスへのリファクタリング(CASSANDRA-13732)
  • メトリクスを3.1.5に更新(CASSANDRA-13648)
  • batch_size_warn_threshold_in_を実行時に設定可能(CASSANDRA-13699)
  • 起動時に常にセカンダリ・インデックスを必ずしも再構築しないようにする(CASSANDRA-13725)
  • JMHを1.13から1.19にアップグレード(CASSANDRA-13727)
  • SLF4Jを1.7.7から1.7.25にアップグレード(CASSANDRA-12996)
  • configで設定されていない場合は、start_native_transportのデフォルトがtrueになった(CASSANDRA-13656)
  • どこからストリーミングするかを計算する際に、グラフにlocalhostを追加しない(CASSANDRA-13583)
  • ORDER BY句で等価制限クラスター化カラムのスキップを許可(CASSANDRA-10271)
  • 検証コンパクションに共通のnowInSecを使用(CASSANDRA-13671)
  • IR準備障害の取り扱いを改善(CASSANDRA-13672)
  • IRコーディネーター・メッセージを同期的に送信(CASSANDRA-13673)
  • IRが約束を確定する前に、system.repairテーブルをフラッシュ(CASSANDRA-13660)
  • ワイルドカード・クエリーのカラム・フィルターの作成を修正(CASSANDRA-13650)
  • 'nodetool getbatchlogreplaythrottle'および'nodetool setbatchlogreplaythrottle’を追加(CASSANDRA-13614)
  • PendingRepairManagerの競合状態を修正(CASSANDRA-13659)
  • noopインクリメンタル・リペアの状態遷移を許可(CASSANDRA-13658)
  • ダウン・レプリカでリペアを実行(CASSANDRA-10446)
  • 開始および完了したリペア・メトリクスを追加(CASSANDRA-13598)
  • 開始および完了したリペア・メトリクスを追加(CASSANDRA-13598)
  • セカンダリ・インデックスの構築(リビルド)の障害と同時実行処理の改善(CASSANDRA-10130)
  • コンパクションに使用可能なディスク領域の計算を改善(CASSANDRA-13068)
  • サードパーティの行キャッシュ・プラグインのRowCacheSerializerのアクセシビリティを変更(CASSANDRA-13579)
  • リペアされたデータのプレビューにサブ範囲のリペア修復を許可(CASSANDRA-13570)
  • columnfamilyにsstableがない場合のIRクリーンアップのNPE(CASSANDRA-13585)
  • ストレス値のランダム性を修正(CASSANDRA-12744)
  • Map値およびSet要素の選択を許可(CASSANDRA-7396)
  • 高速かつガーベージのないストリーミング・ヒストグラム(CASSANDRA-13444)
  • 完了時のキースペースのrepairTimeを更新(CASSANDRA-13539)
  • 検証エグゼキューター・スレッドの構成可能な上限を追加(CASSANDRA-13521)
  • maxHintTTLを正しく元に戻す(CASSANDRA-12982)
  • テストのガイドラインを追加(CASSANDRA-13497)
  • リペア・メトリクスを追加する(CASSANDRA-13531)
  • RangeStreamerは、ストリーミング用のエンドポイントを選択する際に、よりスマートにする必要がある(CASSANDRA-4650)
  • キャッシュ・ロード関数にスローされた例外の再ラップを回避(CASSANDRA-13367)
  • インクリメンタル・リペアのフェーズごとに経過時間を記録(CASSANDRA-13498)
  • cassandra-stressに複数のテーブル操作サポートを追加(CASSANDRA-8780)
  • 同じカラムを複数回選択する場合にcqlshの結果が正しくない問題を修正(CASSANDRA-13262)
  • WriteResponseHandlerTestがテスト実行順序を区別する問題を修正(CASSANDRA-13421)
  • インクリメンタル・リペアのロギングを改善(CASSANDRA-13468)
  • インクリメンタル・リペアが終了したときにコンパクションを開始(CASSANDRA-13454)
  • リペア・ストリーミング・プレビューを追加(CASSANDRA-13257)
  • 使用時のisIncremental/repairedAtのクリーンアップ(CASSANDRA-13430)
  • クエリー文字列に依存しないキースペースの送信を許可するようにプロトコルを変更(CASSANDRA-10145)
  • 実行時にgc_logおよびgc_warnを設定可能にする(CASSANDRA-12661)
  • 残りのコンパクション・タスクを見積もる際にL0内のファイル数を考慮(CASSANDRA-13354)
  • 範囲の移動に関するベース・テーブルのストリーミング中にビューの作成をスキップ(CASSANDRA-13065)
  • マップおよびタプルの+/-演算子のエラー・メッセージを改善(CASSANDRA-13197)
  • 廃止されたリペアJMX APIを削除(CASSANDRA-11530)
  • ストリーミング・キープアライブを有効にするバージョン・チェックを修正(CASSANDRA-12929)
  • 実際の整合性レベルとは別に、理想的な整合性レベルを監視することを可能にする(CASSANDRA-13289)
  • 発信TCP接続はノード間オーセンティケーターを無視(CASSANDRA-13324)
  • JUnitを4.6から4.12にアップグレード(CASSANDRA-13360)
  • リペア後のParentRepairSessionのクリーンアップ(CASSANDRA-13359)
  • snappy-javaを1.1.2.6にアップグレード(CASSANDRA-13336)
  • インクリメンタル・リペアが正しいsstableをストリーミングしない(CASSANDRA-13328)
  • JNAバージョンを4.3.0にアップグレード(CASSANDRA-13300)
  • currentTimestamp、currentDate、currentTime、およびcurrentTimeUUIDの関数を追加(CASSANDRA-13132)
  • 構成オプションindex_intervalを削除(CASSANDRA-10671)
  • コレクション型およびシリアライザーのロック競合を削減(CASSANDRA-13271)
  • MessagingService.Verb idsをオーバーライド可能にする(CASSANDRA-13283)
  • ActiveRepairServiceのprepareForRepairでの同期を回避(CASSANDRA-9292)
  • 圧縮ファイルで圧縮されていないチャンクを使用する機能を追加(CASSANDRA-10520)
  • インクリメンタル・リペアのためにストリーミングする場合は、sstableをフラッシュしない(CASSANDRA-13226)
  • 未使用のメソッドを削除(CASSANDRA-13227)
  • #9143に関連するマイナーなバグを修正(CASSANDRA-13217)
  • ユーザーがRFを増加させる場合の警告を出力(CASSANDRA-13079)
  • 4.0の3.0より前のストリーミング互換コードを削除(CASSANDRA-13081)
  • 日付についての+および- 演算子のサポートを追加(CASSANDRA-11936)
  • インクリメンタル・リペアが行われたデータの整合性を修正(CASSANDRA-9143)
  • コミット・バージョンを増加(CASSANDRA-13161)
  • TableMetadataを不変にし、スキーマを最適化(CASSANDRA-9425)
  • ColumnConditionのリファクタリング(CASSANDRA-12981)
  • 異なるキースペースのストリーミングを並列化(CASSANDRA-4663)
  • コンパクション・メトリクスを改善(CASSANDRA-13015)
  • 不要なフラッシュを回避して起動シーケンスを高速化(CASSANDRA-13031)
  • ヒープ・キャッシュにCaffeine(W-TinyLFU)を使用(CASSANDRA-10855)
  • Thriftを削除(CASSANDRA-11115)
  • 4.0の3.0より前の互換コードを削除(CASSANDRA-12716)
  • スキーマ内の削除されたカラムにカラム定義の種類を追加(CASSANDRA-12705)
  • ノードツール・ドキュメントの追加(自動化)(CASSANDRA-12672)
  • バンドルされているcqlsh pythonドライバーを3.7.0に更新(CASSANDRA-12736)
  • キースペースの作成時または変更時に無効なレプリケーション設定を拒否(CASSANDRA-12681)
  • RateLimiterのSSTableReader#getScanner API wrt削除をクリーンアップ(CASSANDRA-12422)
  • ブートストラップ以外のケースにも新しいトークン割り当てを使用(CASSANDRA-13080)
  • キー・キャッシュが無効になっている場合はバイト配列コピーを回避(CASSANDRA-13084)
  • ノード数がレプリケーション係数より少ない場合は、強制的な停止を要求(CASSANDRA-12510)
  • コレクションを含むカラム・ファミリーにIN制限を許可(CASSANDRA-12654)
  • OutboundTcpConnectionのトレース・メッセージにメッセージ・サイズを記録(CASSANDRA-13028)
  • cassandra-stressのtimeUnit Daysを追加(CASSANDRA-13029)
  • ミューテーションのサイズとバッチ・メトリクスを追加(CASSANDRA-12649)
  • TokenMetadataのエンドポイントのサイズを取得するメソッドを追加(CASSANDRA-12999)
  • スレッド・プール・キューでの待機時間を公開(CASSANDRA-8398)
  • 不必要なフラッシュを避けるためにインデックス構築ステータスを条件付きで更新(CASSANDRA-12969)
  • cqlshのオートコンプリート:コンパクション・ストラテジ・オプションの定義のリファクタリング(CASSANDRA-12946)
  • 算術演算子のサポートを追加(CASSANDRA-11935)
  • ヒントを提供するために遅延のヒストグラムを追加(CASSANDRA-13234)
  • cqlshの自動プロトコル・ダウングレードの不具合を修正(CASSANDRA-13307)
  • 実行時の'max_hint_window_in_ms'を変更(CASSANDRA-11720)
  • リペアの完了/失敗の通知を失うと、nodetool repairが永久にハングアップする可能性がある(CASSANDRA-13480)
  • アンチコンパクションにより、ノイズの多いログ・メッセージが発生する可能性がある(CASSANDRA-13684)
  • sstabledumpについてclient initに切り替え(CASSANDRA-13683)
  • CQLSH:データのキャプチャー時に一時停止しない(CASSANDRA-13743)

DSE 6.7.0のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.0のアップグレードに関する一般的なアドバイス

DataStax Enterprise 6.7.0はCassandra 3.11と互換性があります。以前のバージョンからのすべてのアップグレードに関するアドバイスが適用されます。DataStax Enterpriseアップグレード計画およびアップグレード手順を細かく確認しておくと、スムーズなアップグレードが保証され、不備や不満が生じるのを避けることができます。

DataStax Enterprise 6.7.0はApache Cassandra 3.11との互換性があり、DSE 6.7.0向けのCassandraの機能強化が追加されています。

Apache Cassandraのバージョン間のアップグレードに関する追加のアドバイスには、次のものが含まれます。

Cassandra 4.0の変更点

  • コンパクト・ストレージ・テーブルのサポートが削除されます。コンパクト・ストレージを含むすべてのテーブルをCQLテーブル形式に移行する手順については、DSE 5.1からDSE 6.7へのアップグレードおよびDSE 5.0からDSE 6.7へのアップグレードの、DataStax Enterpriseのアップグレードに関するドキュメントに従ってください。
  • リペアされたデータがノード間で不整合となる原因となったインクリメンタル・リペアの問題を修正しました。この修正プログラムは、フル・リペアとインクリメンタル・リペアの両方の動作を変更します。フル・リペアの場合、データはリペア済みとしてマークされなくなりました。インクリメンタル・リペアの場合、アンチコンパクションはリペア終了時ではなく、開始時に実行されます。アップグレード前にインクリメンタル・リペアを使用していた場合は、アップグレード後にフル・リペアを実行して、不整合を解決する必要があります。DataStax Enterpriseのアップグレードに関するドキュメントには、nodetool repairを実行する手順が含まれています。
  • 廃止された構成オプションindex_intervalが削除されました(2.0 以降で廃止されています)
  • 廃止されたリペアJMX APIが削除されました。
  • snappy-javaのバージョンが1.1.2.6にアップグレードされました。
  • 構成オプションcommitlog_sync_batch_window_in_msが廃止されました。ただし、バッチ・モードは有効なコミット・ログ・モードで残ります。
  • 新しいグループコミット・ログ・モードはバッチ・モードに似ていますが、ディスク・フラッシュ間の構成可能なミリ秒数までブロックされます。
  • マテリアライズド・ビューの初期ビルドの並列化により、トークン範囲ごとのビューの構築ステータスが、新しいテーブル'system.view_builds_in_progress'に格納されます。古いテーブル‘system.views_builds_in_progress'は使用されなくなり、削除できます。詳細については、CASSANDRA-12245を参照してください。
  • nodetool clearsnapshotでは、すべてのスナップショットを削除するために--allフラグが必要になりました。以前の動作では、デフォルトですべてのスナップショットが削除されます。
  • バックグラウンド読み取りリペアは廃止されました。dclocal_read_repair_chance および read_repair_chanceテーブル・オプションは廃止され、4.0で完全に削除されます。詳細については、CASSANDRA-13910を参照してください。

Cassandra 3.11.2の変更点

  • Cassandraは、OutOfMemoryErrorで適切にシャットダウンするためのJVMオプションに依存するようになりました。デフォルトでは、ExitOnOutOfMemoryErrorおよびCrashOnOutOfMemoryErrorオプションは古い1.7および1.8 JVMではサポートされていないため、OnOutOfMemoryErrorオプションに依存します。これらのJVMオプションのいずれも使用しない場合、起動時に警告が記録されます。詳細については、CASSANDRA-13006を参照してください。

Cassandra 3.11.2のアップグレードに関する考慮事項

  • ビュー行の活性は、フィルターが適用された複数のベース非キー・カラムと、ビューのプライマリ・キーで使用されているベース非キー・カラムに依存するため、非プライマリ・キー・ベース・カラム(CASSANDRA-10368で追加)にフィルターを適用したマテリアライズド・ビューの作成は無効になっています。このセマンティクスは、ストレージ形式を変更しなければサポートされません、CASSANDRA-13826を参照してください。追加書き込みのみのユース・ケースの場合は、次のように起動フラグでこの機能を使用できます。"-Dcassandra.mv.allow_filtering_nonkey_columns_unsafe=true"
  • NativeAccessMBean isAvailableメソッドは、ネイティブ・ライブラリが正常にリンクされている場合にのみtrueを返します。以前は、JNAが見つかった場合はtrueを返していましたが、リンクの失敗を考慮しませんでした。
  • system.size_estimatesテーブルのプライマリ範囲はキースペース・レプリケーション設定に基づくようになり、隣接する範囲はマージされなくなりました(CASSANDRA-9639)。
  • 2.1では、otc_Coalescing_strategyのデフォルトは'DISABLED'でした。2.2および3.0では'TIMEHORIZON'に変更されましたが、その値はパフォーマンスの回帰であることが示されました。3.11.0以降のデフォルトは'DISABLED'に戻されています。Cassandra 2.2または3.0からアップグレードするユーザーは、デフォルトが変更されたことに注意する必要があります。
  • StorageHookインターフェイスは、SSTableReaderから読み取り情報を取得できるように変更されました(CASSANDRA-13120)。
  • DSE 5.1.1または5.1.2またはDSE 5.0.10以降の任意のバージョンからのアップグレードのマテリアライズド・ビュー:
    • Cassandraでは、マテリアライズド・ビューのあるテーブルのカラムを削除できなくなりました。
    • マテリアライズド・ビュー・タイムスタンプの計算方法が変更されたため、アップグレード後にベース・テーブルをリペアした場合に、ビューのプライマリ・キー(PK)カラムであるベース・カラムに対する古い削除がビューに反映されない可能性があります。この状態は、ベース・テーブルPKに存在しないMVプライマリ・キー(PK)カラムに対するカラムの削除(UPDATE base SET view_pk_col = null or DELETE view_pk_col FROM base)が、アップグレード前に行われず、アップグレード後にリペアされた場合にのみ発生します。このようなカラムの削除が、ベースPKではないビューPKカラムで行われた場合は、アップグレード前にすべてのノードのベース・テーブルでリペアを実行することをお勧めします。または、アップグレード後にビューでリペアを実行することにより、潜在的な不一致を修正するか、ビューを削除して再度作成することもできます。詳細については、CASSANDRA-11500を参照してください。
    • マテリアライズド・ビューで選択されていないカラムの削除(UPDATE base SET unselected_column = null or DELETE unselected_column FROM base)は、状況によっては正しくビューに反映されない場合があります。DataStaxでは、ビューで選択されていないベース・カラムの削除は、CASSANDRA-13826で修正されるまではお勧めしていません。

Cassandra 3.10の変更点

  • Concurrent_compactorsのランタイム変更が、nodetool concurrent_compactorsを介してできるようになりました。
  • 代入演算子+=/-=のサポートがUPDATEクエリーに追加されました。
  • インデックスの実装は、リングに参加する前に実行されるタスクを提供できるようになりました。CASSANDRA-12039を参照してください。
  • パーティション・キー・カラムのフィルター処理が、セカンダリ・インデックスのないクエリーでもサポートされるようになりました。
  • スロー・クエリー・ログが追加されました。スロー・クエリーはDEBUGレベルで記録されます。詳細については、CASSANDRA-12403およびcassandra.yamlのslow_query_log_timeout_in_msを参照してください。
  • GROUP BYクエリーのサポートが追加されました。
  • cassandra-stress userスキーマのコンパクションのスループットをテストするために、新しいcompaction-stressツールが追加されました。使用方法については、compaction-stressのヘルプを参照してください。
  • プリペアド・ステートメントは、システム・キースペース内のprepared_statementsテーブルに保持されるようになりました。起動時に、このテーブルは、以前に準備されたすべてのステートメントをプリロードするために使用されます。つまり、多くの場合、クライアントは再起動されたノードに対するステートメントを再度準備する必要がありません。
  • cqlshは、ネイティブ・プロトコル・バージョンをダウングレードすることで、古いバージョンのCassandraに接続できるようになりました。これは現在、リリース・テストに組み込まれていないため、すべてのケースで動作することを保証するものではないことにご注意ください。詳細については、CASSANDRA-12150を参照してください。
  • テーブルが削除またはトランケートされる前に自動的に取得されるスナップショットには、スナップショット・タグ名に"dropped"または"truncated"のプレフィックスが付きます。
  • 認証の試行が成功した場合や失敗した場合にメトリクスが公開されます。これらは、オブジェクト名org.apache.cassandra.metrics:type=Client、name=AuthSuccess、およびorg.apache.cassandra.metrics:type=Client、name=AuthFailureをそれぞれ使用して配置できます。
  • DEFAULT UNSETを指定して、プリペアド・ステートメントのJSONフィールドの"unset"を行うサポートを追加します。詳細については、CASSANDRA-11424を参照してください。
  • 挿入と更新時にnull値を持つTTLを許可します。0を挿入することと同じものとして扱われます。
  • outboundBindAny構成プロパティを削除しました。詳細については、CASSANDRA-12673を参照してください。

Cassandra 3.10のアップグレードに関する考慮事項

  • 既に定義されているテーブルおよびUDTフィールドのALTER TYPEのサポートは無効になっています。別のタイプを返す必要がある場合は、代わりにキャストを使用してください。詳細については、CASSANDRA-12443を参照してください。
  • マテリアライズド・ビューの作成または変更時にdefault_time_to_liveオプションを指定すると、誤って受け入れられて(無視されて)いました。現在は、適切に拒否されるようになりました。
  • 現在、JavaとJavaScriptのみがUDF言語でサポートされています。3.0のサンドボックスでは、JavaとJavaScript以外のスクリプト言語の使用が既に禁止されています。
  • フル・コンパクションを実行するのに十分なディスク領域がない場合、コンパクションによってCompactionTaskからsstableが正しく削除されるようになりました。これにより、システムで保留中のコンパクション・タスクが削減されるとともに、残ってしまうディスク領域は少なくなります。
  • cassandra.yamlの要求のタイムアウト(read_request_timeout_in_msなど)が、コーディネーターの「完全な」要求時間に適用されるようになりました。以前は、コーディネーターがレプリカにメッセージを送信してからレプリカが応答するまでの時間のみが対象でした。さらに、以前の動作では、読み取りリペアの実行時にタイムアウトをリセットして、短い読み取りを修正するために2回目の読み取りを行い、また、範囲スキャンまたはセカンダリ・インデックス・クエリーの一環としてとしてサブ範囲が読み取られた場合にタイムアウトをリセットしていました。3.10以降では、これらの「サブクエリー」のタイムアウトはリセットされなくなりました。要求全体が指定されたタイムアウト内に完了する必要があります。その結果、タイムアウトを調整する必要がある場合があります。詳細については、CASSANDRA-12256を参照してください。
  • stdoutに書き込まれたログは、ファイルに書き込まれたログと一致するようになりました。時間がローカルになりました(コンソールではUTC、ファイル内ではローカルでした)。stdoutに追加された日付、スレッド、ファイル、および行の情報。(CASSANDRA-12004を参照してください。)
  • 3.xブランチで破損が見られた‘clientutil' jarは、提供されなくなりました。このjarによって提供される機能は、適切なjavaドライバーによって提供され、このjarではなくドライバーに依存することをお勧めします。ただし、それまで後方互換性のためにそのjarが必要な場合は、3.0ブランチなど、以前のCassandraブランチで提供されたバージョンを使用する必要があります(設計上、このjarによって提供される機能はバージョン間で安定しているため、3.xに接続するクライアントに3.0 jarを使用すると問題なく動作するはずです)。
  • (ツール開発)DatabaseDescriptorは、コミット・ログのリプレイなどのコンポーネント/サービスを暗黙的に起動しなくなりました。これにより、既存のサードパーティ・ツールとクライアントが破損する可能性があります。スタンドアロン・ツールまたはクライアント・アプリケーションを起動するには、DatabaseDescriptor.toolInitialization()またはDatabaseDescriptor.clientInitialization()メソッドを使用します。ツールの初期化は、パーティショナー、スニッチ、暗号化コンテキストを設定します。クライアントの初期化は構成を適用しますが、何も設定しません。現在、廃止されているConfig.setClientMode()またはConfig.isClientMode()を使用する代わりに、DatabaseDescriptorで新しいメソッドのいずれかを使用します。
  • アイドル状態の着信接続がタイムアウトしてストリーム・セッションに障害が発生するのを防ぐために、アプリケーション層のキープアライブがストリーミング・プロトコルに追加されました(CASSANDRA-11839)。これにより、streaming_keep_alive_period_in_secsが使用され、streaming_socket_timeout_in_msプロパティが事実上廃止されます。このプロパティの詳細については、cassandra.yamlを参照してください。
  • ISO 8601形式をサポートする期間リテラル。その結果、その形式に一致する識別子(P2Y、P1MT6Hなど)はサポートされなくなります(CASSANDRA-11873)。

Cassandra 3.8の変更点

  • 共有プール・スレッドは、タスクを実行しているステージに従って名前が付けられるようになりました。トレースされたクエリーで言及されているスレッド名は、それに応じて変更されます。
  • cassandra-stress "-rate fixed={number}/s"に新しいオプションが追加され、時間の経過に応じた1秒あたりの処理予定数実行が強制されます。これを使用すると、stressで、stressプロセスからのCoordinated Omissionを正確に考慮できます。
  • cassandra-stress "-rate limit="オプションの名前が"-rate throttle="に変更されました。
  • hdrヒストグラムがstressの実行に追加され、その出力は、次を使用してディスクに保存できます:"-log hdrfile="オプション。このヒストグラムには、固定またはスロットル・レート・オプションで使用した場合の応答/サービス/待機時間が含まれます。ヒストグラム・ファイルは、http://hdrhistogram.github.io/HdrHistogram/plotFiles.htmlにプロットできます。
  • TimeWindowCompactionStrategyが追加されました。これは時系列圧縮に対するより良いアプローチであることが証明されており、新しいテーブルはDTCSの代わりにこれを使用する必要があります。詳細については、CASSANDRA-9666を参照してください。
  • DateTieredCompactionStrategyは廃止されました。新しいテーブルはTimeWindowCompactionStrategyを使用する必要があります。既存のDTCSテーブルをTWCSに移行すると、移行後しばらくの間コンパクション負荷が増加する可能性があるため、移行する前にテストを実行してください。これに関する背景については、CASSANDRA-9666をお読みください。
  • Change-Data-Captureが利用可能になりました。CommitLogフォームのアーカイブ・データのcdc固有のフラグとディスク上の場所の簡単な説明については、cassandra.yamlを参照してください。これは、ALTER TABLE ...WITH cdc=trueにより有効にできます。フラッシュすると、CDCが有効になっているテーブルのデータを含むCommitLogSegmentが、ユーザーによって削除されるまでdata/cdc_rawディレクトリに移動され、CDCが有効になっているテーブルへの書き込みは、cdc_total_space_in_mbがフラッシュされていないCommitLogSegmentと cdc_rawの間に達するとWriteTimeoutExceptionで拒否されます。注:CDCは、yamlファイルでデフォルトで無効になっています。トラフィックを中断する可能性のある例外が発生する可能性があるため、混在バージョンのクラスターではCDCを有効にしないでください。すべてのノードが3.8にアップグレードされた後は、この機能を有効にしてクラスターを再起動しても安全です。

Cassandra 3.10のアップグレードに関する考慮事項

  • ReversedTypeの動作は、空の値を含むBYTES型のカラムをクラスター化するために修正されました。BYTES型の降順クラスター化カラムを含む既存のSSTableでscrubを実行して、順序を修正する必要があります。詳細については、CASSANDRA-12127を参照してください。
  • Ec2MultiRegionSnitchは、broadcast_rpc_addressプロパティがcassandra.yamlで定義されている場合、このプロパティをパブリック・インスタンスIPに自動的に設定しなくなります。
  • "json"と"distinct"という名前は、ユーザー定義関数名としては無効になりました(ただし、カラム名としては有効です)。万が一、このような名前で関数を定義した場合は、別の名前で関数を再作成し、新しい名前を使用して古いバージョンを削除するようにコードを変更し、この_before_ upgradeを行う必要があります(詳細についてはCASSANDRA-10783を参照してください)。

Cassandra 3.7のアップグレードに関する考慮事項

  • 破損したSSTableを読み取る際のメモリー不足の例外を防ぐために、SSTable値の最大サイズが導入されました。この最大サイズは、cassandra.yamlのmax_value_size_in_mbを使用して設定できます。デフォルトは256 MBで、native_transport_max_frame_size_in_mbのデフォルト値に一致します。サイズがこの制限を超える値が含まれている場合、SSTableは破損していると見なされます。詳細については、CASSANDRA-9530を参照してください。

Cassandra 3.6の変更点

  • JMX接続は、CQLクライアントと同じ認証メカニズムを使用できるようになりました。cassandra-env.(sh|ps1)の新しいオプションを使用すると、JMXの認証および権限をcassandra.yamlで構成されたIAuthenticatorおよびIAuthorizerに委任できます。デフォルト設定は依然としてJMXをローカルに公開し、リモート接続が許可されている場合はJVM独自のセキュリティー・メカニズムを使用します。新しいオプションを有効にする方法の詳細については、cassandra-env.shのコメントを参照してください。新しいクラスのIResourceであるJMXResourceは、CQLを介してGRANT/REVOKEを目的として提供されます。詳細については、CASSANDRA-10091を参照してください。また、起動時にcom.sun.management.jmxremote.portシステム・プロパティを介してJMXリモート・ポートを直接設定することは廃止されます。詳細については、CASSANDRA-11725を参照してください。
  • JSONタイムスタンプがUTCに追加され、タイムゾーン情報に含まれるようになりました。詳細については、CASSANDRA-11137を参照してください。
  • 衝突チェックは、ノードがブートストラップする必要があるかどうかにかかわらず、トークン・リングに参加するときに実行されます。さらに、replace_addressは、部分的に障害が発生したディスクが含まれるノードの復元に役立つブートストラップなしで合理的に使用できます。詳細については、CASSANDRA-10134を参照してください。
  • キー・キャッシュは、cassandra.yaml内のcolumn_index_cache_size_in_kbによって構成されたサイズまでインデックス・エントリーのみを保持します。それよりインデックス・エントリーは、メモリーに格納されません。詳細については、CASSANDRA-11206を参照してください。
  • TTLを0に指定するdefault_time_to_liveを含むテーブルの場合、挿入または更新された値からTTLが削除されます。
  • 破損したトランザクション・ログ・ファイルが見つかった場合、起動が中止されるようになりました。影響を受けるログ・ファイルの詳細が記録されるようになり、オペレーターが状況を解決する方法を決定できるようになりました。
  • フィルタリング式がよりプラグ可能になり、QueryHandler実装を介してプログラム的に追加できます。詳細については、CASSANDRA-11295を参照してください。

Cassandra 3.4の変更点

  • 内部認証で、暗号化された資格情報のキャッシュがサポートされるようになりました。cassandra.yamlのcredentials_validity_in_msを参照してください。
  • JMXを介したauthキャッシュのリモート設定は、システム・プロパティcassandra.disable_auth_caches_remote_configurationを使用して無効にすることができます。
  • sstabledumpツールが、以前のsstable2jsonの3.0バージョンに追加されます。このツールはv3.0以降のSSTableのみをサポートします。詳細については、ツールのヘルプを参照してください。
  • mbeanインターフェイスのorg.apache.cassandra.auth.PermissionsCacheMBeanおよびorg.apache.cassandra.auth.RolesCacheMBeanは、org.apache.cassandra.auth.AuthCacheMBeanを使用するようになるため、廃止されます。この汎用インターフェイスは、authサブシステム内のすべてのキャッシュで共通です。個々のキャッシュの特定のmbeanインターフェイスは、後続のメジャー・バージョンで削除されます。

Cassandra 3.2の変更点

  • トークンが複数のデータ・ディレクトリに存在しないことを確認します。つまり、data_file_directoryごとに1つのコンパクション・ストラテジを実行し、ディレクトリごとに1つのスレッドを使用してフラッシュします。nodetool relocatesstablesを使用して、トークンが正しい場所にあることを確認するか、待機してコンパクションによる処理を行います。詳細については、CASSANDRA-6696を参照してください。
  • バインドされた転送中の最大コミット・ログ・リプレイ・ミューテーションのバイト数をcassandra.commitlog_max_outstanding_replay_bytesを介して64メガバイトに調整可能
  • 型キャストのサポートが選択句に追加されました。
  • ヒンテッド・ハンドオフが圧縮をサポートするようになりました。cassandra.yamlのhints_compressionを参照してください。注:ヒント圧縮は現在デフォルトでは無効になっています。
  • Thrift APIは廃止されており、Cassandra 4.0で削除されます。

Cassandra 3.2のアップグレードに関する考慮事項

  • 圧縮率メトリクスの計算がより正確になるように変更されました。
  • Cassandraをルートとして実行することは、デフォルトでは禁止されています。
  • JVMオプションは、cassandra-env.(sh|ps1)からjvm.optionsファイルに移動されました。

Cassandra 3.1のアップグレードに関する考慮事項

  • SelectStatement::getLimitの戻り値がDataLimitsからintに変更されました。
  • カスタム・インデックスの実装では、Indexer::indexes()メソッドが、そのコントラクトが判断を誤る原因となる場合が多いために削除されたことに注意する必要があります。すべてのカスタム実装は、このメソッドについて無条件に返されたtrueをほぼ確実に含みます。
  • GCロギングはデフォルトで有効になりました(必要に応じて、jvm.optionsファイルで無効にできます)。

DSE 6.7.0のTinkerPopの変更点

DataStax Enterprise 6.7.0に含まれている、Apache TinkerPop 3.3.3のプロダクション環境で認定済みの変更点のリスト。

DataStax Enterprise(DSE)6.7.0には、それより前のDSEリリースのすべての変更点と、Apache TinkerPop 3.3.3に加えられたプロダクション環境で認定済みの以下の変更点が含まれています。
  • Groovy 2.4.15へのアップグレード - 場合によっては、GLVでのLambdaの作成を妨げるGroovyのバグを解決します。(TINKERPOP-1953)
  • TraversalSelectStepの実装 - select("a").select(select("n"))のように入れ子を許可することにより、select()ステップの機能を拡張し、select()の動的キーを許可します(6.0.1以降)。(TINKERPOP-1628)
  • バイトコードのデシリアライズのパフォーマンスを強化しました。(TINKERPOP-1936)
  • 探索構造のパフォーマンスを強化しました。(TINKERPOP-1950)
  • ミューテーションのキーのパス履歴は保持されません。(TINKERPOP-1947)
  • プロファイル・ステップと繰り返しは、互いにうまく機能しません(6.0.1以降)。(TINKERPOP-1869)