[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12992997#comment-12992997 ] Vivek Mishra commented on CASSANDRA-2124: - Patch attached: 1) Code style comments suggested by Eric, has been incorporated. 2) Sorry, I should have been clearer here. I think the .jdbc suffixed package name (like you had it) is best, I just meant that it should live under drivers/java. So either o.a.c.cql.driver.jdbc, or o.a.c.cql.jdbc would be OK with me. vivek refactored to move into o.a.c.cql.driver.jdbc./vivek Yeah, it's somewhat awkward in that it needs to connect to a running instance of Cassandra. I wonder if o.a.c.service.EmbeddedCassandraService would be of help here. vivek Done. Test running with EmbeddedCassandraService()./vivek Also, JUnit should invoke setUp() and tearDown() for you, so I think you could rename setUpInternal() to setUp(), and remove all of the per-test invocations of it and tearDown(). vivek done/vivek Additionally, it looks like CassandraResultSet creates String instances for column names and values, which is really going to limit the utility. Do you have plans to change that? vivek Changes made. Thought to add generics with in place of Object, but seems overhead./vivek •what is the purpose of replacing/setting the security manager in CassandraDriver? vivek Reason to add this was as initially thought to introduce remote interface layer on top of driver. Now removed. /vivek JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vivek Mishra updated CASSANDRA-2124: Attachment: cassandra-0.7.1-2124_v2.1 JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12992998#comment-12992998 ] Vivek Mishra commented on CASSANDRA-2124: - Was thinking to add CREATE TABLE CF for CREATE COLUMN FAMILY calls. I have made code changes for this. Modified files are: 1) Cql.g 2) Auto generated CqlParser. 3) QueryProcessor 4) StatementType. Suggest, if this can be thought as a feature as part of CRUD support. Vivek JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
Page API_JP deleted from Cassandra Wiki
Dear wiki user, You have subscribed to a wiki page Cassandra Wiki for change notification. The page API_JP has been deleted by MakiWatanabe. The comment on this change is: For Low level API, it will be better to keep link for the original (English) page. I'll translate it if I have time in future.. http://wiki.apache.org/cassandra/API_JP
[Cassandra Wiki] Trivial Update of FrontPage_JP by MakiWatanabe
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The FrontPage_JP page has been changed by MakiWatanabe. The comment on this change is: Link back Thrift API Documentation from API_JP to API. http://wiki.apache.org/cassandra/FrontPage_JP?action=diffrev1=65rev2=66 -- * [[LargeDataSetConsiderations|巨大なデータセットに関する注意点]] == クライアントライブラリーに関する開発者向け情報 == - * [[API_JP|Thrift API Documentation]] (In progress) + * [[API|Thrift API Documentation]] (In progress) == 開発者向けドキュメント == * [[ArchitectureInternals_JP|Cassandra内部アーキテクチャ]](翻訳済み)
[Cassandra Wiki] Trivial Update of FrontPage_JP by MakiWatanabe
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The FrontPage_JP page has been changed by MakiWatanabe. The comment on this change is: Translation of StorageConfiguration_JP completed. http://wiki.apache.org/cassandra/FrontPage_JP?action=diffrev1=66rev2=67 -- == 高度なセットアップとチューニング == - * [[StorageConfiguration_JP|Storageの設定]] (翻訳中) + * [[StorageConfiguration_JP|Storageの設定]] (翻訳済み) * [[MultinodeCluster_JP|マルチノードクラスターの作成]](翻訳済み) * [[Operations|オペレーション]] * [[Embedding_JP|Cassandraの組み込み]](翻訳済み)
[jira] Updated: (CASSANDRA-2041) add paging of large rows to sstable2json
[ https://issues.apache.org/jira/browse/CASSANDRA-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2041: --- Attachment: CASSANDRA-2041-trunk.patch merge with trunk (latest commit e708c46b348bee9005123d6dcde8416b528159a2) add paging of large rows to sstable2json Key: CASSANDRA-2041 URL: https://issues.apache.org/jira/browse/CASSANDRA-2041 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.1 Attachments: CASSANDRA-2041-trunk.patch, CASSANDRA-2041-v2.patch, CASSANDRA-2041-v3.patch, CASSANDRA-2041.patch Original Estimate: 0h Remaining Estimate: 0h -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (CASSANDRA-2090) Add clearcfstats to clustertool
[ https://issues.apache.org/jira/browse/CASSANDRA-2090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-2090. --- Resolution: Not A Problem Divorcing total values from uptime is the wrong solution. The right thing to do is to use monitoring that can turn cfstats totals into rates. Add clearcfstats to clustertool --- Key: CASSANDRA-2090 URL: https://issues.apache.org/jira/browse/CASSANDRA-2090 Project: Cassandra Issue Type: New Feature Components: Tools Reporter: Sébastien Giroux Priority: Minor I think it would be great to be able to reset the cfstats to all the nodes at the same time. Sometime a few nodes get restarted and the statas in cfstats doesn't make much sense anymore when comparing them to other nodes. It would be great to be able to reset these by executing a simple command. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[Cassandra Wiki] Update of ClientOptions by MakiWatanabe
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The ClientOptions page has been changed by MakiWatanabe. The comment on this change is: Translation to Japanese. http://wiki.apache.org/cassandra/ClientOptions?action=diffrev1=122rev2=123 -- TableOfContents() - = High level clients = - Using one of these clients is strongly preferred to raw Thrift when developing applications (the Thrift API is primarily intended for client developers). What follows are clients that support Cassandra 0.7. + = 高レベルのクライアント = + Cassandraアプリケーションを開発する場合は、直接Thrift APIを直接使用するより、ここにあげているクライアントインターフェースを使用することを強くお勧めします。(Thrift APIは主にクライアント開発者が利用することを想定しています。)以下にあげているのはCassandra 0.7対応クライアントです。 - If no high-level client exists for your environment, you may be able to update an [[ClientOptions06|older client]]; failing that, you'll have to use the raw Thrift [[API]]. + あなたの環境で使用可能な高レベルクライアントがここに存在しない場合は[[ClientOptions06|older client]]に記載されているクライアントをバージョンアップすれば使えるかもしれません。それでもうまくいかない場合は、生の[[API|Thrift API]]を使用する必要があるでしょう。 * Python: * Telephus: http://github.com/driftx/Telephus (Twisted) @@ -26, +26 @@ * phpcassa: http://github.com/thobbs/phpcassa * SimpleCassie: http://code.google.com/p/simpletools-php/wiki/SimpleCassie - == Older clients == - If you are using Cassandra 0.6*, see [[ClientOptions06]]. + == 古いクライアント == + Cassandra 0.6*を使用する場合は[[ClientOptions06]]を参照して下さい。 = Thrift = - Thrift is the Cassandra driver-level interface that the clients above build on. You can use raw Thrift from just about any language, but it's not particularly idiomatic in any of them. Some examples are given in ThriftExamples. + ThriftはCassandraのドライバーレベルインターフェースです。CassandraのクライアントはThrift APIの上に構築されています。あなたは任意の言語上で生のThrift APIを使用することができますが、あまり一般的ではありません。ThiftExamplesにいくるかのサンプルが示されています。 - = Internal API = - The StorageProxy API is available to JVM-based clients, but unless you really know that you need it you should probably be using a higher-level client listed above or, failing that, the Thrift API. The StorageProxy API is intended for internal use, and highly specialized use-cases. (The most common reason is wanting to use the BinaryMemtable bulk-load interface.) + = 内部API = + JVMベースのクライアントではStorageProxy APIを使用できます。しかし本当にその必要性を理解しているのでなければおそらく上に挙げた高レベルクライアントを使か、それがうまくいかないのならThrift APIを使うべきでしょう。StorageProxy APIはCassandraシステム内部で使用することを想定しており、また極めて特化したユースケースを前提にしています。(StorageProxy APIを使用するもっとも一般的な理由は、BinaryMemtableを一括ロードするインターフェースを使用したいケースです。) = Hadoop = - Running Hadoop map/reduce jobs in Cassandra is described in HadoopSupport. + CassandraでHadoopのmap/reduce処理を実行する方法はHadoopSupportで説明されています。
[jira] Updated: (CASSANDRA-1709) CQL keyspace and column family management
[ https://issues.apache.org/jira/browse/CASSANDRA-1709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Evans updated CASSANDRA-1709: -- Labels: cql (was: ) CQL keyspace and column family management - Key: CASSANDRA-1709 URL: https://issues.apache.org/jira/browse/CASSANDRA-1709 Project: Cassandra Issue Type: Sub-task Components: API Affects Versions: 0.8 Reporter: Eric Evans Assignee: Eric Evans Priority: Minor Labels: cql Fix For: 0.8 Original Estimate: 0h Remaining Estimate: 0h CQL specification and implementation for schema management. This corresponds to the following RPC methods: * system_add_column_family() * system_add_keyspace() * system_drop_keyspace() * system_update_keyspace() * system_update_columnfamily() -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2025) generalized way of expressing hierarchical values
[ https://issues.apache.org/jira/browse/CASSANDRA-2025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Evans updated CASSANDRA-2025: -- Labels: cql (was: ) generalized way of expressing hierarchical values - Key: CASSANDRA-2025 URL: https://issues.apache.org/jira/browse/CASSANDRA-2025 Project: Cassandra Issue Type: Sub-task Components: API Reporter: Eric Evans Assignee: Eric Evans Priority: Minor Labels: cql Fix For: 0.8 Original Estimate: 0h Remaining Estimate: 0h While hashing out {{CREATE KEYSPACE}}, it became obvious that we needed a syntax for expressing hierarchical values. Properties like {{replication_factor}} can be expressed simply using keyword arguments like ({{replication_factor = 3}}), but {{strategy_options}} is a map of strings. The solution I took in CASSANDRA-1709 was to dot-delimit map name and option key, so for example: {code:style=SQL} CREATE KEYSPACE keyspace WITH ... AND strategy_options.DC1 = 1 ... {code} This led me to wonder if this was a general enough approach for any future cases that might come up. One example might be compound/composite column names. Dot-delimiting is a bad choice here since it rules out ever introducing a float literal. One suggestion would be to colon-delimit, so for example: {code:style=SQL} CREATE KEYSPACE keyspace WITH ... AND strategy_options:DC1 = 1 ... {code} Or in the case of composite column names: {code:style=SQL} SELECT columnA:columnB,column1:column2 FROM Standard2 USING CONSISTENCY.QUORUM WHERE KEY = key; UPDATE Standard2 SET columnA:columnB = valueC, column1:column2 = value3 WHERE KEY = key; {code} As an aside, this also led me to the conclusion that {{CONSISTENCY.LEVEL}} is probably a bad choice for consistency level specification. It mirrors the underlying enum for no good reason and should probably be changed to {{CONSISTENCY LEVEL}} (i.e. omitting the separator). For example: {code:style=SQL} SELECT column FROM Standard2 USING CONSISTENCY QUORUM WHERE KEY = key; {code} Thoughts? *Edit: improved final example* *Edit: restore final example, create new one (gah).* -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-1711) Python driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-1711?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Evans updated CASSANDRA-1711: -- Labels: cql (was: ) Python driver for CQL - Key: CASSANDRA-1711 URL: https://issues.apache.org/jira/browse/CASSANDRA-1711 Project: Cassandra Issue Type: Sub-task Components: API Affects Versions: 0.8 Reporter: Eric Evans Priority: Minor Labels: cql Fix For: 0.8 Attachments: v2-0001-CASSANDRA-1711-basic-connection-pooling-for-python-dri.txt Original Estimate: 0h Remaining Estimate: 0h In-tree CQL drivers should be reasonably consistent with one another (wherever possible/practical), and implement a minimum of: * Query compression * Keyspace assignment on connection * Connection pooling / load-balancing The goal is not to supplant the idiomatic libraries, but to provide a consistent, stable base for them to build upon. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-1707) CQL query compression
[ https://issues.apache.org/jira/browse/CASSANDRA-1707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Evans updated CASSANDRA-1707: -- Labels: cql (was: ) CQL query compression - Key: CASSANDRA-1707 URL: https://issues.apache.org/jira/browse/CASSANDRA-1707 Project: Cassandra Issue Type: Sub-task Components: API Affects Versions: 0.8 Reporter: Eric Evans Priority: Minor Labels: cql Fix For: 0.8 Original Estimate: 0h Remaining Estimate: 0h In an effort to keep CQL requests compact on the wire, the initial work that landed in trunk/ makes use of compression. The only currently supported option is GZIP. At the very least, it should be possible to disable compression, either for debugging or as an optimization, but other compression schemes might have merit here as well. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-1708) CQL authentication
[ https://issues.apache.org/jira/browse/CASSANDRA-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Evans updated CASSANDRA-1708: -- Labels: cql (was: ) CQL authentication -- Key: CASSANDRA-1708 URL: https://issues.apache.org/jira/browse/CASSANDRA-1708 Project: Cassandra Issue Type: Sub-task Components: API Affects Versions: 0.8 Reporter: Eric Evans Priority: Minor Labels: cql Fix For: 0.8 Attachments: Cass_auth_changes.patch, v1-0001-CASSANDRA-1708-authentication-for-Java-CQL-driver.txt Original Estimate: 0h Remaining Estimate: 0h CQL specification and implementation for authentication, (corresponds to the {{login()}} RPC method). -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
ClientOptions reverted to revision 122 on Cassandra Wiki
Dear wiki user, You have subscribed to a wiki page Cassandra Wiki for change notification. The page ClientOptions has been reverted to revision 122 by MakiWatanabe. The comment on this change is: Mistakenly translated the original (english) page. http://wiki.apache.org/cassandra/ClientOptions?action=diffrev1=123rev2=124 -- TableOfContents() - = 高レベルのクライアント = - Cassandraアプリケーションを開発する場合は、直接Thrift APIを直接使用するより、ここにあげているクライアントインターフェースを使用することを強くお勧めします。(Thrift APIは主にクライアント開発者が利用することを想定しています。)以下にあげているのはCassandra 0.7対応クライアントです。 + = High level clients = + Using one of these clients is strongly preferred to raw Thrift when developing applications (the Thrift API is primarily intended for client developers). What follows are clients that support Cassandra 0.7. - あなたの環境で使用可能な高レベルクライアントがここに存在しない場合は[[ClientOptions06|older client]]に記載されているクライアントをバージョンアップすれば使えるかもしれません。それでもうまくいかない場合は、生の[[API|Thrift API]]を使用する必要があるでしょう。 + If no high-level client exists for your environment, you may be able to update an [[ClientOptions06|older client]]; failing that, you'll have to use the raw Thrift [[API]]. * Python: * Telephus: http://github.com/driftx/Telephus (Twisted) @@ -26, +26 @@ * phpcassa: http://github.com/thobbs/phpcassa * SimpleCassie: http://code.google.com/p/simpletools-php/wiki/SimpleCassie - == 古いクライアント == - Cassandra 0.6*を使用する場合は[[ClientOptions06]]を参照して下さい。 + == Older clients == + If you are using Cassandra 0.6*, see [[ClientOptions06]]. = Thrift = - ThriftはCassandraのドライバーレベルインターフェースです。CassandraのクライアントはThrift APIの上に構築されています。あなたは任意の言語上で生のThrift APIを使用することができますが、あまり一般的ではありません。ThiftExamplesにいくるかのサンプルが示されています。 + Thrift is the Cassandra driver-level interface that the clients above build on. You can use raw Thrift from just about any language, but it's not particularly idiomatic in any of them. Some examples are given in ThriftExamples. - = 内部API = - JVMベースのクライアントではStorageProxy APIを使用できます。しかし本当にその必要性を理解しているのでなければおそらく上に挙げた高レベルクライアントを使か、それがうまくいかないのならThrift APIを使うべきでしょう。StorageProxy APIはCassandraシステム内部で使用することを想定しており、また極めて特化したユースケースを前提にしています。(StorageProxy APIを使用するもっとも一般的な理由は、BinaryMemtableを一括ロードするインターフェースを使用したいケースです。) + = Internal API = + The StorageProxy API is available to JVM-based clients, but unless you really know that you need it you should probably be using a higher-level client listed above or, failing that, the Thrift API. The StorageProxy API is intended for internal use, and highly specialized use-cases. (The most common reason is wanting to use the BinaryMemtable bulk-load interface.) = Hadoop = - CassandraでHadoopのmap/reduce処理を実行する方法はHadoopSupportで説明されています。 + Running Hadoop map/reduce jobs in Cassandra is described in HadoopSupport.
[Cassandra Wiki] Update of ClientOptions_JP by MakiWatanabe
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The ClientOptions_JP page has been changed by MakiWatanabe. http://wiki.apache.org/cassandra/ClientOptions_JP?action=diffrev1=125rev2=126 -- - ## page was copied from ClientOptions TableOfContents() - = High level clients = - Using one of these clients is strongly preferred to raw Thrift when developing applications (the Thrift API is primarily intended for client developers). What follows are clients that support Cassandra 0.7. + = 高レベルのクライアント = + Cassandraアプリケーションを開発する場合は、直接Thrift APIを直接使用するより、ここにあげているクライアントインターフェースを使用することを強くお勧めします。(Thrift APIは主にクライアント開発者が利用することを想定しています。)以下にあげているのはCassandra 0.7対応クライアントです。 - If no high-level client exists for your environment, you may be able to update an [[ClientOptions06|older client]]; failing that, you'll have to use the raw Thrift [[API]]. + あなたの環境で使用可能な高レベルクライアントがここに存在しない場合は[[ClientOptions06|older client]]に記載されているクライアントをバージョンアップすれば使えるかもしれません。それでもうまくいかない場合は、生の[[API|Thrift API]]を使用する必要があるでしょう。 * Python: * Telephus: http://github.com/driftx/Telephus (Twisted) @@ -27, +26 @@ * phpcassa: http://github.com/thobbs/phpcassa * SimpleCassie: http://code.google.com/p/simpletools-php/wiki/SimpleCassie - == Older clients == - If you are using Cassandra 0.6*, see [[ClientOptions06]]. + == 古いクライアント == + Cassandra 0.6*を使用する場合は[[ClientOptions06]]を参照して下さい。 = Thrift = - Thrift is the Cassandra driver-level interface that the clients above build on. You can use raw Thrift from just about any language, but it's not particularly idiomatic in any of them. Some examples are given in ThriftExamples. + ThriftはCassandraのドライバーレベルインターフェースです。CassandraのクライアントはThrift APIの上に構築されています。あなたは任意の言語上で生のThrift APIを使用することができますが、あまり一般的ではありません。ThiftExamplesにいくるかのサンプルが示されています。 - = Internal API = - The StorageProxy API is available to JVM-based clients, but unless you really know that you need it you should probably be using a higher-level client listed above or, failing that, the Thrift API. The StorageProxy API is intended for internal use, and highly specialized use-cases. (The most common reason is wanting to use the BinaryMemtable bulk-load interface.) + = 内部API = + JVMベースのクライアントではStorageProxy APIを使用できます。しかし本当にその必要性を理解しているのでなければおそらく上に挙げた高レベルクライアントを使か、それがうまくいかないのならThrift APIを使うべきでしょう。StorageProxy APIはCassandraシステム内部で使用することを想定しており、また極めて特化したユースケースを前提にしています。(StorageProxy APIを使用するもっとも一般的な理由は、BinaryMemtableを一括ロードするインターフェースを使用したいケースです。) = Hadoop = - Running Hadoop map/reduce jobs in Cassandra is described in HadoopSupport. + CassandraでHadoopのmap/reduce処理を実行する方法はHadoopSupportで説明されています。
[Cassandra Wiki] Update of FrontPage_JP by MakiWatanabe
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The FrontPage_JP page has been changed by MakiWatanabe. The comment on this change is: Translation of ClientOption completed. http://wiki.apache.org/cassandra/FrontPage_JP?action=diffrev1=67rev2=68 -- == アプリケーションデベロッパーとオペレーターのためのドキュメント == * [[GettingStarted_JP|はじめに]](翻訳済み) * [[http://www.datastax.com/docs|DatastaxのCassandraドキュメント]] - * [[ClientOptions|Client options: ways to access Cassandra]] -- interfaces for Ruby, Python, Scala and more + * [[ClientOptions_JP|クライアント一覧: Cassandraへのアクセス方法]] -- Ruby, Python, Scalaその他とのインターフェースについて(翻訳済み) * [[RunningCassandra_JP|Cassandraを動かす]](翻訳済み) * [[ArchitectureOverview_JP|アーキテクチャオーバビュー]](翻訳済み) * [[UseCases|Simple Use Cases and Solutions]] -- please help complete
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993099#comment-12993099 ] Eric Evans commented on CASSANDRA-2124: --- {quote} Was thinking to add CREATE TABLE CF for CREATE COLUMN FAMILY calls. I have made code changes for this. Modified files are: 1) Cql.g 2) Auto generated CqlParser. 3) QueryProcessor 4) StatementType. {quote} Are you aware of CASSANDRA-1709? I'm just about finished with that (CREATE COLUMNFAMILY anyway). JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069460 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra: io/sstable/CacheWriter.java utils/StatusLogger.java
Author: eevans Date: Thu Feb 10 16:38:49 2011 New Revision: 1069460 URL: http://svn.apache.org/viewvc?rev=1069460view=rev Log: prepend missing license headers Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/CacheWriter.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/StatusLogger.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/CacheWriter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/CacheWriter.java?rev=1069460r1=1069459r2=1069460view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/CacheWriter.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/CacheWriter.java Thu Feb 10 16:38:49 2011 @@ -1,4 +1,25 @@ package org.apache.cassandra.io.sstable; +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + import java.io.File; import java.io.IOException; Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/StatusLogger.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/StatusLogger.java?rev=1069460r1=1069459r2=1069460view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/StatusLogger.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/utils/StatusLogger.java Thu Feb 10 16:38:49 2011 @@ -1,4 +1,25 @@ package org.apache.cassandra.utils; +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + import java.lang.management.ManagementFactory; import java.util.Set;
svn commit: r1069461 - /cassandra/branches/cassandra-0.7/debian/changelog
Author: eevans Date: Thu Feb 10 16:38:56 2011 New Revision: 1069461 URL: http://svn.apache.org/viewvc?rev=1069461view=rev Log: debian/changelog: freshen timestamp Modified: cassandra/branches/cassandra-0.7/debian/changelog Modified: cassandra/branches/cassandra-0.7/debian/changelog URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/debian/changelog?rev=1069461r1=1069460r2=1069461view=diff == --- cassandra/branches/cassandra-0.7/debian/changelog (original) +++ cassandra/branches/cassandra-0.7/debian/changelog Thu Feb 10 16:38:56 2011 @@ -2,7 +2,7 @@ cassandra (0.7.1) unstable; urgency=low * New stable point release. - -- Eric Evans eev...@apache.org Fri, 04 Feb 2011 12:57:52 -0600 + -- Eric Evans eev...@apache.org Thu, 10 Feb 2011 10:34:50 -0600 cassandra (0.7.0~rc4) unstable; urgency=low
[jira] Updated: (CASSANDRA-2146) cli read_repair_chance input not validated
[ https://issues.apache.org/jira/browse/CASSANDRA-2146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2146: --- Attachment: CASSANDRA-2146.patch cli read_repair_chance input not validated -- Key: CASSANDRA-2146 URL: https://issues.apache.org/jira/browse/CASSANDRA-2146 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.0 Reporter: Chris Burroughs Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.2 Attachments: CASSANDRA-2146.patch {noformat} put(ColumnFamilyArgument.READ_REPAIR_CHANCE, Probability (0.0-1.0) with which to perform read repairs on CL.ONE reads); {noformat} The input range is not enforced so {noformat} create column family ... with ... read_repair_chance = 25; {noformat} Will result in {noformat} Keyspace: ks1: Replication Strategy: org.apache.cassandra.locator.SimpleStrategy Replication Factor: 3 Column Families: ColumnFamily: cf1 Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type ... Read repair chance: 25.0 {noformat} I am unsure if in practice this means RR chance 100%, or something surprising. (I ran into this because read_repair_chance requires a leading 0 and ommiting it results in an unhelpful Command not found: message). -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (CASSANDRA-1997) Cassandra-Maven-Plugin
[ https://issues.apache.org/jira/browse/CASSANDRA-1997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eric Evans resolved CASSANDRA-1997. --- Resolution: Invalid Assignee: Stephen Connolly I think this is as close as we're going to get to consensus so I'll close this ticket now. Cassandra-Maven-Plugin -- Key: CASSANDRA-1997 URL: https://issues.apache.org/jira/browse/CASSANDRA-1997 Project: Cassandra Issue Type: New Feature Reporter: Stephen Connolly Assignee: Stephen Connolly Attachments: CASSANDRA-1997-v2.patch, CASSANDRA-1997-v3.patch, cassandra-maven-plugin.0.7.patch, cassandra-maven-plugin.tar.gz A maven plugin to allow controlling a test instance of cassandra from within maven builds -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2102) saved row cache doesn't save the cache
[ https://issues.apache.org/jira/browse/CASSANDRA-2102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993114#comment-12993114 ] Jonathan Ellis commented on CASSANDRA-2102: --- I think you're right, if your cache is doing its job (high hit rate) then copy-before-insert will be less copies than copy-for-local-operation. saved row cache doesn't save the cache -- Key: CASSANDRA-2102 URL: https://issues.apache.org/jira/browse/CASSANDRA-2102 Project: Cassandra Issue Type: Bug Affects Versions: 0.7.0 Reporter: Matthew F. Dennis Assignee: Matthew F. Dennis Fix For: 0.7.2 Attachments: 2102-cassandra-0.7-v2.txt, 2102-cassandra-0.7.txt saving row caches works by periodically iterating of the keySet() on the caches and writing the keys for the cached contents to disk. The cache keys are DecoratedKeys. DecoratedKeys contain a Token token and a ByteBuffer key. The underlying buffer on the key gets reused so the contents change. This means that all the cache entries have distinct tokens but only a handful of distinct key values. This means that when the cache is loaded you only end up loading a handful of keys instead of the ones actually in your cache. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069468 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/db/ColumnFamilyStore.java src/java/org/apache/cassandra/io/sstable/SSTableReader.java
Author: jbellis Date: Thu Feb 10 17:08:42 2011 New Revision: 1069468 URL: http://svn.apache.org/viewvc?rev=1069468view=rev Log: copy DecoratedKey.key when inserting into caches patch by mdennis; reviewed by jbellis for CASSANDRA-2102 Modified: cassandra/branches/cassandra-0.7/CHANGES.txt cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java Modified: cassandra/branches/cassandra-0.7/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1069468r1=1069467r2=1069468view=diff == --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Feb 10 17:08:42 2011 @@ -63,6 +63,8 @@ * bound hints CF throughput between 32M and 256M (CASSANDRA-2148) * continue starting when invalid saved cache entries are encountered (CASSANDRA-2076) + * copy DecoratedKey.key when inserting into caches to avoid retaining + a reference to the underlying buffer (CASSANDRA-2102) 0.7.0-final Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1069468r1=1069467r2=1069468view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Thu Feb 10 17:08:42 2011 @@ -1149,7 +1149,8 @@ public class ColumnFamilyStore implement } } -ssTables.getRowCache().put(key, cached); +// TFFT resuses the underlying buffer for the key +ssTables.getRowCache().put(new DecoratedKey(key.token, ByteBufferUtil.clone(key.key)), cached); } return cached; } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=1069468r1=1069467r2=1069468view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java Thu Feb 10 17:08:42 2011 @@ -307,7 +307,7 @@ public class SSTableReader extends SSTab if (shouldAddEntry) indexSummary.addEntry(decoratedKey, indexPosition); if (cacheLoading keysToLoadInCache.contains(decoratedKey)) -keyCache.put(new PairDescriptor, DecoratedKey(descriptor, decoratedKey), dataPosition); +cacheKey(decoratedKey, dataPosition); } indexSummary.incrementRowid(); @@ -417,7 +417,8 @@ public class SSTableReader extends SSTab public void cacheKey(DecoratedKey key, Long info) { -keyCache.put(new PairDescriptor, DecoratedKey(descriptor, key), info); +//TFFT reuses the underlying buffer for the key +keyCache.put(new PairDescriptor, DecoratedKey(descriptor, new DecoratedKey(key.token, ByteBufferUtil.clone(key.key))), info); } public Long getCachedPosition(DecoratedKey key) @@ -481,7 +482,7 @@ public class SSTableReader extends SSTab if (op == Operator.EQ) bloomFilterTracker.addTruePositive(); // store exact match for the key -keyCache.put(unifiedKey, dataPosition); +cacheKey(unifiedKey.right, dataPosition); } return dataPosition; }
[jira] Updated: (CASSANDRA-2151) StorageService MBean has operations with byte[] in signature and can not be called from JMX
[ https://issues.apache.org/jira/browse/CASSANDRA-2151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Edward Capriolo updated CASSANDRA-2151: --- Description: Many operations in storageService have byte[] or String[] in there method signature. This makes them not usable from JConsole. Ideally having access to all of these functions would be idea, but for starters I would like to have access to getNaturalEndoints to be able to determine where keys are stored. (was: Many operations in storageService have byte[] or String[] in there method signature. This makes them not usable from JConsole. Ideally calling having access to all of these functions would be idea, but for starters I would like to have access to getNaturalEndoints to be able to determine where keys are stored.) StorageService MBean has operations with byte[] in signature and can not be called from JMX --- Key: CASSANDRA-2151 URL: https://issues.apache.org/jira/browse/CASSANDRA-2151 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Priority: Minor Many operations in storageService have byte[] or String[] in there method signature. This makes them not usable from JConsole. Ideally having access to all of these functions would be idea, but for starters I would like to have access to getNaturalEndoints to be able to determine where keys are stored. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (CASSANDRA-2151) StorageService MBean has operations with byte[] in signature and can not be called from JMX
StorageService MBean has operations with byte[] in signature and can not be called from JMX --- Key: CASSANDRA-2151 URL: https://issues.apache.org/jira/browse/CASSANDRA-2151 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Priority: Minor Many operations in storageService have byte[] or String[] in there method signature. This makes them not usable from JConsole. Ideally calling having access to all of these functions would be idea, but for starters I would like to have access to getNaturalEndoints to be able to determine where keys are stored. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[Cassandra Wiki] Update of CodeStyle by PavelYaskevich
Dear Wiki user, You have subscribed to a wiki page or wiki category on Cassandra Wiki for change notification. The CodeStyle page has been changed by PavelYaskevich. http://wiki.apache.org/cassandra/CodeStyle?action=diffrev1=18rev2=19 -- * When splitting a ternary, use one line per clause, carry the operator, and align like this: {{{ some_variable_in_this_class = the_user_input_this_variable == null - ? doFoo(); + ? doFoo() : doBar(); }}} == Private_ _Members and Underscores ==
[jira] Updated: (CASSANDRA-2151) StorageService MBean has operations with byte[] in signature and can not be called from JConsole
[ https://issues.apache.org/jira/browse/CASSANDRA-2151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Edward Capriolo updated CASSANDRA-2151: --- Summary: StorageService MBean has operations with byte[] in signature and can not be called from JConsole (was: StorageService MBean has operations with byte[] in signature and can not be called from JMX) StorageService MBean has operations with byte[] in signature and can not be called from JConsole Key: CASSANDRA-2151 URL: https://issues.apache.org/jira/browse/CASSANDRA-2151 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Priority: Minor Many operations in storageService have byte[] or String[] in there method signature. This makes them not usable from JConsole. Ideally having access to all of these functions would be idea, but for starters I would like to have access to getNaturalEndoints to be able to determine where keys are stored. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (CASSANDRA-2152) Encryption options are not validated correctly in DatabaseDescriptor
Encryption options are not validated correctly in DatabaseDescriptor Key: CASSANDRA-2152 URL: https://issues.apache.org/jira/browse/CASSANDRA-2152 Project: Cassandra Issue Type: Bug Affects Versions: 0.8 Reporter: Nate McCall Assignee: Nate McCall Fix For: 0.8 Missing configuration for encryption_options introduced via CASSANDRA-1567 result in an obtuse NPE from MessagingService -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2152) Encryption options are not validated correctly in DatabaseDescriptor
[ https://issues.apache.org/jira/browse/CASSANDRA-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nate McCall updated CASSANDRA-2152: --- Attachment: 2152.txt checks for null before reference Encryption options are not validated correctly in DatabaseDescriptor Key: CASSANDRA-2152 URL: https://issues.apache.org/jira/browse/CASSANDRA-2152 Project: Cassandra Issue Type: Bug Affects Versions: 0.8 Reporter: Nate McCall Assignee: Nate McCall Fix For: 0.8 Attachments: 2152.txt Missing configuration for encryption_options introduced via CASSANDRA-1567 result in an obtuse NPE from MessagingService -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2136) CLI does not use sub-comparator on Super CF `get`.
[ https://issues.apache.org/jira/browse/CASSANDRA-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2136: --- Attachment: CASSANDRA-2136.patch CLI does not use sub-comparator on Super CF `get`. -- Key: CASSANDRA-2136 URL: https://issues.apache.org/jira/browse/CASSANDRA-2136 Project: Cassandra Issue Type: Bug Components: Tools Affects Versions: 0.7.1 Environment: Column family settings: - name: foo column_type: Super compare_with: AsciiType compare_subcolumns_with: TimeUUIDType default_validation_class: AsciiType Reporter: Pavel Yaskevich Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.2 Attachments: CASSANDRA-2136.patch Original Estimate: 1h Remaining Estimate: 1h [default@foo] get foo[page-field]; = (super_column=20110208, (column=82f4c650-2d53-11e0-a08b-58b035f3f60d, value=msg1, timestamp=1297159430471000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60e, value=msg2, timestamp=1297159437423000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60f, value=msg3, timestamp=1297159439855000)) Returned 1 results. [default@foo] get foo[page-field][20110208]; , value=msg1, timestamp=1297159430471000) = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) = (column=???P-S???X?5??, value=msg3, timestamp=1297159439855000) Returned 3 results. [default@foo] get foo[page-field][20110208][82f4c650-2d53-11e0-a08b-58b035f3f60e]; = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2136) CLI does not use sub-comparator on Super CF `get`.
[ https://issues.apache.org/jira/browse/CASSANDRA-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2136: --- Priority: Major (was: Minor) CLI does not use sub-comparator on Super CF `get`. -- Key: CASSANDRA-2136 URL: https://issues.apache.org/jira/browse/CASSANDRA-2136 Project: Cassandra Issue Type: Bug Components: Tools Affects Versions: 0.7.1 Environment: Column family settings: - name: foo column_type: Super compare_with: AsciiType compare_subcolumns_with: TimeUUIDType default_validation_class: AsciiType Reporter: Pavel Yaskevich Assignee: Pavel Yaskevich Fix For: 0.7.2 Attachments: CASSANDRA-2136.patch Original Estimate: 1h Time Spent: 1h Remaining Estimate: 0h [default@foo] get foo[page-field]; = (super_column=20110208, (column=82f4c650-2d53-11e0-a08b-58b035f3f60d, value=msg1, timestamp=1297159430471000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60e, value=msg2, timestamp=1297159437423000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60f, value=msg3, timestamp=1297159439855000)) Returned 1 results. [default@foo] get foo[page-field][20110208]; , value=msg1, timestamp=1297159430471000) = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) = (column=???P-S???X?5??, value=msg3, timestamp=1297159439855000) Returned 3 results. [default@foo] get foo[page-field][20110208][82f4c650-2d53-11e0-a08b-58b035f3f60e]; = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069509 - /cassandra/branches/cassandra-0.7/CHANGES.txt
Author: jbellis Date: Thu Feb 10 18:13:07 2011 New Revision: 1069509 URL: http://svn.apache.org/viewvc?rev=1069509view=rev Log: 2102 missed 0.7.1 Modified: cassandra/branches/cassandra-0.7/CHANGES.txt Modified: cassandra/branches/cassandra-0.7/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1069509r1=1069508r2=1069509view=diff == --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Feb 10 18:13:07 2011 @@ -1,3 +1,8 @@ +0.7.2 + * copy DecoratedKey.key when inserting into caches to avoid retaining + a reference to the underlying buffer (CASSANDRA-2102) + + 0.7.1 * buffer network stack to avoid inefficient small TCP messages while avoiding the nagle/delayed ack problem (CASSANDRA-1896) @@ -63,8 +68,6 @@ * bound hints CF throughput between 32M and 256M (CASSANDRA-2148) * continue starting when invalid saved cache entries are encountered (CASSANDRA-2076) - * copy DecoratedKey.key when inserting into caches to avoid retaining - a reference to the underlying buffer (CASSANDRA-2102) 0.7.0-final
svn commit: r1069517 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra: db/ColumnFamilyStore.java io/sstable/SSTableReader.java
Author: jbellis Date: Thu Feb 10 18:40:52 2011 New Revision: 1069517 URL: http://svn.apache.org/viewvc?rev=1069517view=rev Log: fix NPE from #2102 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1069517r1=1069516r2=1069517view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Thu Feb 10 18:40:52 2011 @@ -1149,7 +1149,7 @@ public class ColumnFamilyStore implement } } -// TFFT resuses the underlying buffer for the key +// avoid keeping a permanent reference to the original key buffer ssTables.getRowCache().put(new DecoratedKey(key.token, ByteBufferUtil.clone(key.key)), cached); } return cached; Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java?rev=1069517r1=1069516r2=1069517view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableReader.java Thu Feb 10 18:40:52 2011 @@ -417,8 +417,9 @@ public class SSTableReader extends SSTab public void cacheKey(DecoratedKey key, Long info) { -//TFFT reuses the underlying buffer for the key -keyCache.put(new PairDescriptor, DecoratedKey(descriptor, new DecoratedKey(key.token, ByteBufferUtil.clone(key.key))), info); +// avoid keeping a permanent reference to the original key buffer +DecoratedKey copiedKey = new DecoratedKey(key.token, key.key == null ? null : ByteBufferUtil.clone(key.key)); +keyCache.put(new PairDescriptor, DecoratedKey(descriptor, copiedKey), info); } public Long getCachedPosition(DecoratedKey key) @@ -441,8 +442,12 @@ public class SSTableReader extends SSTab public long getPosition(DecoratedKey decoratedKey, Operator op) { // first, check bloom filter -if (op == Operator.EQ !bf.isPresent(decoratedKey.key)) -return -1; +if (op == Operator.EQ) +{ +assert decoratedKey.key != null; // null is ok for GE scans +if (!bf.isPresent(decoratedKey.key)) +return -1; +} // next, the key cache PairDescriptor, DecoratedKey unifiedKey = new PairDescriptor, DecoratedKey(descriptor, decoratedKey); @@ -482,7 +487,7 @@ public class SSTableReader extends SSTab if (op == Operator.EQ) bloomFilterTracker.addTruePositive(); // store exact match for the key -cacheKey(unifiedKey.right, dataPosition); +cacheKey(decoratedKey, dataPosition); } return dataPosition; }
svn commit: r1069520 - in /cassandra/trunk: CHANGES.txt src/java/org/apache/cassandra/net/MessagingService.java
Author: gdusbabek Date: Thu Feb 10 18:43:13 2011 New Revision: 1069520 URL: http://svn.apache.org/viewvc?rev=1069520view=rev Log: check for null encryption in MessagingService. patch by Nate McCall, reviewed by gdusbabek. CASSANDRA-2152 Modified: cassandra/trunk/CHANGES.txt cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java Modified: cassandra/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1069520r1=1069519r2=1069520view=diff == --- cassandra/trunk/CHANGES.txt (original) +++ cassandra/trunk/CHANGES.txt Thu Feb 10 18:43:13 2011 @@ -7,6 +7,7 @@ * human readable column names in sstable2json output (CASSANDRA-1933) * change default JMX port to 7199 (CASSANDRA-2027) * backwards compatible internal messaging (CASSANDRA-1015) + * check for null encryption in MessagingService (CASSANDRA-2152) 0.7.2 Modified: cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java?rev=1069520r1=1069519r2=1069520view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/net/MessagingService.java Thu Feb 10 18:43:13 2011 @@ -189,7 +189,7 @@ public final class MessagingService impl private ServerSocket getServerSocket(InetAddress localEp) throws IOException, ConfigurationException { final ServerSocket ss; -if (DatabaseDescriptor.getEncryptionOptions().internode_encryption == EncryptionOptions.InternodeEncryption.all) +if (DatabaseDescriptor.getEncryptionOptions() != null DatabaseDescriptor.getEncryptionOptions().internode_encryption == EncryptionOptions.InternodeEncryption.all) { ss = SSLFactory.getServerSocket(DatabaseDescriptor.getEncryptionOptions(), localEp, DatabaseDescriptor.getStoragePort()); // setReuseAddress happens in the factory.
[jira] Commented: (CASSANDRA-2152) Encryption options are not validated correctly in DatabaseDescriptor
[ https://issues.apache.org/jira/browse/CASSANDRA-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993161#comment-12993161 ] Gary Dusbabek commented on CASSANDRA-2152: -- +1 committed. Encryption options are not validated correctly in DatabaseDescriptor Key: CASSANDRA-2152 URL: https://issues.apache.org/jira/browse/CASSANDRA-2152 Project: Cassandra Issue Type: Bug Affects Versions: 0.8 Reporter: Nate McCall Assignee: Nate McCall Fix For: 0.8 Attachments: 2152.txt Missing configuration for encryption_options introduced via CASSANDRA-1567 result in an obtuse NPE from MessagingService -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (CASSANDRA-2152) Encryption options are not validated correctly in DatabaseDescriptor
[ https://issues.apache.org/jira/browse/CASSANDRA-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gary Dusbabek resolved CASSANDRA-2152. -- Resolution: Fixed Encryption options are not validated correctly in DatabaseDescriptor Key: CASSANDRA-2152 URL: https://issues.apache.org/jira/browse/CASSANDRA-2152 Project: Cassandra Issue Type: Bug Affects Versions: 0.8 Reporter: Nate McCall Assignee: Nate McCall Fix For: 0.8 Attachments: 2152.txt Missing configuration for encryption_options introduced via CASSANDRA-1567 result in an obtuse NPE from MessagingService -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2136) CLI does not use sub-comparator on Super CF `get`.
[ https://issues.apache.org/jira/browse/CASSANDRA-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2136: -- Priority: Minor (was: Major) Affects Version/s: (was: 0.7.1) 0.7.0 CLI does not use sub-comparator on Super CF `get`. -- Key: CASSANDRA-2136 URL: https://issues.apache.org/jira/browse/CASSANDRA-2136 Project: Cassandra Issue Type: Bug Components: Tools Affects Versions: 0.7.0 Environment: Column family settings: - name: foo column_type: Super compare_with: AsciiType compare_subcolumns_with: TimeUUIDType default_validation_class: AsciiType Reporter: Pavel Yaskevich Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.2 Attachments: CASSANDRA-2136.patch Original Estimate: 1h Time Spent: 1h Remaining Estimate: 0h [default@foo] get foo[page-field]; = (super_column=20110208, (column=82f4c650-2d53-11e0-a08b-58b035f3f60d, value=msg1, timestamp=1297159430471000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60e, value=msg2, timestamp=1297159437423000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60f, value=msg3, timestamp=1297159439855000)) Returned 1 results. [default@foo] get foo[page-field][20110208]; , value=msg1, timestamp=1297159430471000) = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) = (column=???P-S???X?5??, value=msg3, timestamp=1297159439855000) Returned 3 results. [default@foo] get foo[page-field][20110208][82f4c650-2d53-11e0-a08b-58b035f3f60e]; = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069523 - in /cassandra/branches/cassandra-0.7: CHANGES.txt src/java/org/apache/cassandra/cli/CliClient.java
Author: jbellis Date: Thu Feb 10 18:48:01 2011 New Revision: 1069523 URL: http://svn.apache.org/viewvc?rev=1069523view=rev Log: format subcolumn names with subcomparator patch by xedin; reviewed by jbellis for CASSANDRA-2136 Modified: cassandra/branches/cassandra-0.7/CHANGES.txt cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java Modified: cassandra/branches/cassandra-0.7/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1069523r1=1069522r2=1069523view=diff == --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Feb 10 18:48:01 2011 @@ -1,6 +1,7 @@ 0.7.2 * copy DecoratedKey.key when inserting into caches to avoid retaining a reference to the underlying buffer (CASSANDRA-2102) + * format subcolumn names with subcomparator (CASSANDRA-2136) 0.7.1 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java?rev=1069523r1=1069522r2=1069523view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java Thu Feb 10 18:48:01 2011 @@ -314,7 +314,8 @@ public class CliClient extends CliUserHe AbstractType validator; CfDef cfDef = getCfDef(columnFamily); - +boolean isSuperCF = cfDef.column_type.equals(Super); + // Print out super columns or columns. for (ColumnOrSuperColumn cosc : columns) { @@ -337,9 +338,16 @@ public class CliClient extends CliUserHe { Column column = cosc.column; validator = getValidatorForValue(cfDef, column.getName()); -sessionState.out.printf(= (column=%s, value=%s, timestamp=%d%s)%n, formatColumnName(keyspace, columnFamily, column), - validator.getString(column.value), column.timestamp, -column.isSetTtl() ? String.format(, ttl=%d, column.getTtl()) : ); + +String formattedName = isSuperCF + ? formatSubcolumnName(keyspace, columnFamily, column) + : formatColumnName(keyspace, columnFamily, column); + +sessionState.out.printf(= (column=%s, value=%s, timestamp=%d%s)%n, +formattedName, +validator.getString(column.value), +column.timestamp, +column.isSetTtl() ? String.format(, ttl=%d, column.getTtl()) : ); } } @@ -461,9 +469,15 @@ public class CliClient extends CliUserHe valueAsString = (validator == null) ? new String(columnValue, Charsets.UTF_8) : validator.getString(ByteBuffer.wrap(columnValue)); } +String formattedColumnName = isSuper + ? formatSubcolumnName(keySpace, columnFamily, column) + : formatColumnName(keySpace, columnFamily, column); + // print results sessionState.out.printf(= (column=%s, value=%s, timestamp=%d%s)%n, -formatColumnName(keySpace, columnFamily, column), valueAsString, column.timestamp, +formattedColumnName, +valueAsString, +column.timestamp, column.isSetTtl() ? String.format(, ttl=%d, column.getTtl()) : ); }
svn commit: r1069526 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
Author: jbellis Date: Thu Feb 10 18:51:00 2011 New Revision: 1069526 URL: http://svn.apache.org/viewvc?rev=1069526view=rev Log: validate read_repair_chance patch by xedin; reviewed by jbellis for CASSANDRA-2146 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java?rev=1069526r1=1069525r2=1069526view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java Thu Feb 10 18:51:00 2011 @@ -870,7 +870,12 @@ public class CliClient extends CliUserHe cfDef.setKey_cache_size(Double.parseDouble(mValue)); break; case READ_REPAIR_CHANCE: -cfDef.setRead_repair_chance(Double.parseDouble(mValue)); +double chance = Double.parseDouble(mValue) / 100; + +if (chance 1) +throw new RuntimeException(Error: read_repair_chance / 100 should not be greater than 1.); + +cfDef.setRead_repair_chance(chance); break; case GC_GRACE: cfDef.setGc_grace_seconds(Integer.parseInt(mValue));
[jira] Updated: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime
[ https://issues.apache.org/jira/browse/CASSANDRA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-2115: Attachment: (was: 2115.txt) Keep endpoint state until aVeryLongTime --- Key: CASSANDRA-2115 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 0.7.2 Attachments: 2115.txt In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state until QUARANTINE_DELAY has elapsed. However, if node X is leaving and node Y goes down and stays down longer than QUARANTINE_DELAY after X has left, Y will return thinking X is still a member of the cluster. Instead, let's hold onto the endpoint state even longer, until aVeryLongTime which is currently set to 3 days. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime
[ https://issues.apache.org/jira/browse/CASSANDRA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-2115: Attachment: 2115.txt Updated patch holds onto state for aVeryLongTime unless it's a fat client, which gets removed immediately (but still respects the quarantine.) Keep endpoint state until aVeryLongTime --- Key: CASSANDRA-2115 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 0.7.2 Attachments: 2115.txt In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state until QUARANTINE_DELAY has elapsed. However, if node X is leaving and node Y goes down and stays down longer than QUARANTINE_DELAY after X has left, Y will return thinking X is still a member of the cluster. Instead, let's hold onto the endpoint state even longer, until aVeryLongTime which is currently set to 3 days. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime
[ https://issues.apache.org/jira/browse/CASSANDRA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-2115: Reviewer: gdusbabek Keep endpoint state until aVeryLongTime --- Key: CASSANDRA-2115 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 0.7.2 Attachments: 2115.txt In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state until QUARANTINE_DELAY has elapsed. However, if node X is leaving and node Y goes down and stays down longer than QUARANTINE_DELAY after X has left, Y will return thinking X is still a member of the cluster. Instead, let's hold onto the endpoint state even longer, until aVeryLongTime which is currently set to 3 days. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069557 - /cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java
Author: eevans Date: Thu Feb 10 20:27:35 2011 New Revision: 1069557 URL: http://svn.apache.org/viewvc?rev=1069557view=rev Log: paging of large rows in sstable2json Patch by Pavel Yaskevich; reviewed by eevans for CASSANDRA-2041 Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=1069557r1=1069556r2=1069557view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java Thu Feb 10 20:27:35 2011 @@ -25,6 +25,12 @@ import java.nio.ByteBuffer; import java.util.*; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.db.columniterator.IColumnIterator; +import org.apache.cassandra.db.filter.QueryFilter; +import org.apache.cassandra.db.filter.QueryPath; +import org.apache.cassandra.io.util.BufferedRandomAccessFile; +import org.apache.cassandra.service.StorageService; +import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.commons.cli.*; import org.apache.cassandra.config.ConfigurationException; @@ -45,7 +51,8 @@ import static org.apache.cassandra.utils */ public class SSTableExport { -private static int INPUT_FILE_BUFFER_SIZE = 8 * 1024 * 1024; +// size of the columns page +private static final int PAGE_SIZE = 1000; private static final String KEY_OPTION = k; private static final String EXCLUDEKEY_OPTION = x; @@ -70,101 +77,183 @@ public class SSTableExport Option optEnumerate = new Option(ENUMERATEKEYS_OPTION, false, enumerate keys only); options.addOption(optEnumerate); } - + +/** + * Wraps given string into quotes + * @param val string to quote + * @return quoted string + */ private static String quote(String val) { return String.format(\%s\, val); } - + +/** + * JSON Hash Key serializer + * @param val value to set as a key + * @return JSON Hash key + */ private static String asKey(String val) { return String.format(%s: , quote(val)); } - -private static void serializeColumns(PrintStream outs, CollectionIColumn columns, AbstractType comparator, CFMetaData cfMetaData) + +/** + * Serialize columns using given column iterator + * @param columns column iterator + * @param out output stream + * @param comparator columns comparator + * @param cfMetaData Column Family metadata (to get validator) + */ +private static void serializeColumns(IteratorIColumn columns, PrintStream out, AbstractType comparator, CFMetaData cfMetaData) { -outs.print([); +while (columns.hasNext()) +{ +serializeColumn(columns.next(), out, comparator, cfMetaData); -IteratorIColumn iter = columns.iterator(); +if (columns.hasNext()) +out.print(, ); +} +} -while (iter.hasNext()) -{ -outs.print([); -IColumn column = iter.next(); +/** + * Serialize a collection of the columns + * @param columns collection of the columns to serialize + * @param out output stream + * @param comparator columns comparator + * @param cfMetaData Column Family metadata (to get validator) + */ +private static void serializeColumns(CollectionIColumn columns, PrintStream out, AbstractType comparator, CFMetaData cfMetaData) +{ +serializeColumns(columns.iterator(), out, comparator, cfMetaData); +} -ByteBuffer name = column.name(); -AbstractType validator = cfMetaData.getValueValidator(name); +/** + * Serialize a given column to the JSON format + * @param column column presentation + * @param out output stream + * @param comparator columns comparator + * @param cfMetaData Column Family metadata (to get validator) + */ +private static void serializeColumn(IColumn column, PrintStream out, AbstractType comparator, CFMetaData cfMetaData) +{ +ByteBuffer name = ByteBufferUtil.clone(column.name()); +ByteBuffer value = ByteBufferUtil.clone(column.value()); +AbstractType validator = cfMetaData.getValueValidator(name); + +out.print([); +out.print(quote(comparator.getString(name))); +out.print(, ); +out.print(quote(validator.getString(value))); +out.print(, ); +out.print(column.timestamp()); +out.print(, ); +out.print(column.isMarkedForDelete()); + +if (column instanceof ExpiringColumn) +{ +out.print(, ); +out.print(((ExpiringColumn) column).getTimeToLive()); +out.print(, ); +
[jira] Updated: (CASSANDRA-2100) Restart required to change cache_save_period
[ https://issues.apache.org/jira/browse/CASSANDRA-2100?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jon Hermes updated CASSANDRA-2100: -- Attachment: 2100.txt row/key cache save period in seconds now config-able at runtime via JMX (not just migrations). On either migration or JMX-change path, the scheduling has been broken out. It first cancels the previous scheduled task (but will not interrupt currently saving caches) then schedules a new task with the correct frequency. Restart required to change cache_save_period Key: CASSANDRA-2100 URL: https://issues.apache.org/jira/browse/CASSANDRA-2100 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.0 Reporter: Nick Bailey Assignee: Jon Hermes Priority: Minor Fix For: 0.7.2 Attachments: 2100.txt The cache_save_period is set in the schema for each column family. However this value is only checked when a node starts up so changing this value isn't really dynamic. We should actually change this when the schema changes instead of having to restart. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2069) Read repair causes tremendous GC pressure
[ https://issues.apache.org/jira/browse/CASSANDRA-2069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2069: -- Attachment: 2069-v10.txt v10 fixes a race where a quick repair would remove the data needed for the response to client. it also splits repair and digest-processing resolvers into different classes. Read repair causes tremendous GC pressure - Key: CASSANDRA-2069 URL: https://issues.apache.org/jira/browse/CASSANDRA-2069 Project: Cassandra Issue Type: Bug Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Jonathan Ellis Fix For: 0.7.2 Attachments: 2069-v10.txt, 2069-v2.txt, 2069-v3.txt, 2069-v4.txt, 2069-v5.txt, 2069-v6.txt, 2069-v7.txt, 2069-v8.txt, 2069-v9.txt, 2069.txt To reproduce: start a three node cluster, insert 1M rows with stress.java and rf=2. Take one down, delete its data, then bring it back up and issue 1M reads against it. After the run is done you will see at least 1 STW long enough to mark the node as dead, often 4 or 5. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069585 - /cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java
Author: eevans Date: Thu Feb 10 21:55:52 2011 New Revision: 1069585 URL: http://svn.apache.org/viewvc?rev=1069585view=rev Log: merge SSTableExport changes from 0.7 branch Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=1069585r1=1069584r2=1069585view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java Thu Feb 10 21:55:52 2011 @@ -25,9 +25,11 @@ import java.nio.ByteBuffer; import java.util.*; import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.db.*; import org.apache.cassandra.db.columniterator.IColumnIterator; import org.apache.cassandra.db.filter.QueryFilter; import org.apache.cassandra.db.filter.QueryPath; +import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.io.util.BufferedRandomAccessFile; import org.apache.cassandra.service.StorageService; import org.apache.cassandra.utils.ByteBufferUtil; @@ -35,11 +37,6 @@ import org.apache.commons.cli.*; import org.apache.cassandra.config.ConfigurationException; import org.apache.cassandra.config.DatabaseDescriptor; -import org.apache.cassandra.db.ColumnFamily; -import org.apache.cassandra.db.DecoratedKey; -import org.apache.cassandra.db.ExpiringColumn; -import org.apache.cassandra.db.IColumn; -import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.dht.IPartitioner; import org.apache.cassandra.io.sstable.*; @@ -288,11 +285,10 @@ public class SSTableExport /** * Export specific rows from an SSTable and write the resulting JSON to a PrintStream. * - * @param ssTableFile the SSTable to export the rows from + * @param ssTableFile the SSTableScanner to export the rows from * @param outs PrintStream to write the output to * @param toExport the keys corresponding to the rows to export - * @param excludes the keys to exclude from export - * + * @param excludes keys to exclude from export * @throws IOException on failure to read/write input/output */ public static void export(String ssTableFile, PrintStream outs, CollectionString toExport, String[] excludes) throws IOException @@ -387,7 +383,7 @@ public class SSTableExport * * @param ssTableFile the SSTable to export * @param outs PrintStream to write the output to - * @param excludes the keys to exclude from export + * @param excludes keys to exclude from export * * @throws IOException on failure to read/write input/output */ @@ -400,7 +396,7 @@ public class SSTableExport * Export an SSTable and write the resulting JSON to standard out. * * @param ssTableFile SSTable to export - * @param excludes the keys to exclude from export + * @param excludes keys to exclude from export * * @throws IOException on failure to read/write SSTable/standard out */ @@ -414,8 +410,9 @@ public class SSTableExport * export the contents of the SSTable to JSON. * * @param args command lines arguments + * * @throws IOException on failure to open/read/write files or output streams - * @throws ConfigurationException if configuration is invalid + * @throws ConfigurationException on configuration failure (wrong params given) */ public static void main(String[] args) throws IOException, ConfigurationException {
[jira] Commented: (CASSANDRA-2146) cli read_repair_chance input not validated
[ https://issues.apache.org/jira/browse/CASSANDRA-2146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993240#comment-12993240 ] Hudson commented on CASSANDRA-2146: --- Integrated in Cassandra-0.7 #276 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/276/]) validate read_repair_chance patch by xedin; reviewed by jbellis for CASSANDRA-2146 cli read_repair_chance input not validated -- Key: CASSANDRA-2146 URL: https://issues.apache.org/jira/browse/CASSANDRA-2146 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.0 Reporter: Chris Burroughs Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.2 Attachments: CASSANDRA-2146.patch Original Estimate: 0.5h Time Spent: 0.5h Remaining Estimate: 0h {noformat} put(ColumnFamilyArgument.READ_REPAIR_CHANCE, Probability (0.0-1.0) with which to perform read repairs on CL.ONE reads); {noformat} The input range is not enforced so {noformat} create column family ... with ... read_repair_chance = 25; {noformat} Will result in {noformat} Keyspace: ks1: Replication Strategy: org.apache.cassandra.locator.SimpleStrategy Replication Factor: 3 Column Families: ColumnFamily: cf1 Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type ... Read repair chance: 25.0 {noformat} I am unsure if in practice this means RR chance 100%, or something surprising. (I ran into this because read_repair_chance requires a leading 0 and ommiting it results in an unhelpful Command not found: message). -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2136) CLI does not use sub-comparator on Super CF `get`.
[ https://issues.apache.org/jira/browse/CASSANDRA-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993239#comment-12993239 ] Hudson commented on CASSANDRA-2136: --- Integrated in Cassandra-0.7 #276 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/276/]) format subcolumn names with subcomparator patch by xedin; reviewed by jbellis for CASSANDRA-2136 CLI does not use sub-comparator on Super CF `get`. -- Key: CASSANDRA-2136 URL: https://issues.apache.org/jira/browse/CASSANDRA-2136 Project: Cassandra Issue Type: Bug Components: Tools Affects Versions: 0.7.0 Environment: Column family settings: - name: foo column_type: Super compare_with: AsciiType compare_subcolumns_with: TimeUUIDType default_validation_class: AsciiType Reporter: Pavel Yaskevich Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.2 Attachments: CASSANDRA-2136.patch Original Estimate: 1h Time Spent: 1h Remaining Estimate: 0h [default@foo] get foo[page-field]; = (super_column=20110208, (column=82f4c650-2d53-11e0-a08b-58b035f3f60d, value=msg1, timestamp=1297159430471000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60e, value=msg2, timestamp=1297159437423000) (column=82f4c650-2d53-11e0-a08b-58b035f3f60f, value=msg3, timestamp=1297159439855000)) Returned 1 results. [default@foo] get foo[page-field][20110208]; , value=msg1, timestamp=1297159430471000) = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) = (column=???P-S???X?5??, value=msg3, timestamp=1297159439855000) Returned 3 results. [default@foo] get foo[page-field][20110208][82f4c650-2d53-11e0-a08b-58b035f3f60e]; = (column=???P-S???X?5??, value=msg2, timestamp=1297159437423000) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2102) saved row cache doesn't save the cache
[ https://issues.apache.org/jira/browse/CASSANDRA-2102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993238#comment-12993238 ] Hudson commented on CASSANDRA-2102: --- Integrated in Cassandra-0.7 #276 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/276/]) saved row cache doesn't save the cache -- Key: CASSANDRA-2102 URL: https://issues.apache.org/jira/browse/CASSANDRA-2102 Project: Cassandra Issue Type: Bug Affects Versions: 0.7.0 Reporter: Matthew F. Dennis Assignee: Matthew F. Dennis Fix For: 0.7.1 Attachments: 2102-cassandra-0.7-v2.txt, 2102-cassandra-0.7.txt saving row caches works by periodically iterating of the keySet() on the caches and writing the keys for the cached contents to disk. The cache keys are DecoratedKeys. DecoratedKeys contain a Token token and a ByteBuffer key. The underlying buffer on the key gets reused so the contents change. This means that all the cache entries have distinct tokens but only a handful of distinct key values. This means that when the cache is loaded you only end up loading a handful of keys instead of the ones actually in your cache. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2041) add paging of large rows to sstable2json
[ https://issues.apache.org/jira/browse/CASSANDRA-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993244#comment-12993244 ] Eric Evans commented on CASSANDRA-2041: --- committed and merged; thanks again Pavel. add paging of large rows to sstable2json Key: CASSANDRA-2041 URL: https://issues.apache.org/jira/browse/CASSANDRA-2041 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.1 Attachments: CASSANDRA-2041-trunk.patch, CASSANDRA-2041-v2.patch, CASSANDRA-2041-v3.patch, CASSANDRA-2041.patch Original Estimate: 0h Remaining Estimate: 0h -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime
[ https://issues.apache.org/jira/browse/CASSANDRA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993247#comment-12993247 ] Gary Dusbabek commented on CASSANDRA-2115: -- +1 Keep endpoint state until aVeryLongTime --- Key: CASSANDRA-2115 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 0.7.2 Attachments: 2115.txt In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state until QUARANTINE_DELAY has elapsed. However, if node X is leaving and node Y goes down and stays down longer than QUARANTINE_DELAY after X has left, Y will return thinking X is still a member of the cluster. Instead, let's hold onto the endpoint state even longer, until aVeryLongTime which is currently set to 3 days. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069593 [2/2] - in /cassandra/trunk: ./ drivers/java/src/org/apache/cassandra/cql/driver/jdbc/ drivers/java/test/
Added: cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/driver/jdbc/CassandraStatement.java URL: http://svn.apache.org/viewvc/cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/driver/jdbc/CassandraStatement.java?rev=1069593view=auto == --- cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/driver/jdbc/CassandraStatement.java (added) +++ cassandra/trunk/drivers/java/src/org/apache/cassandra/cql/driver/jdbc/CassandraStatement.java Thu Feb 10 22:34:05 2011 @@ -0,0 +1,1230 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.cassandra.cql.driver.jdbc; + +import java.io.InputStream; +import java.io.Reader; +import java.math.BigDecimal; +import java.net.URL; +import java.sql.Array; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.Date; +import java.sql.NClob; +import java.sql.ParameterMetaData; +import java.sql.PreparedStatement; +import java.sql.Ref; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.RowId; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.sql.SQLXML; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.Calendar; + +import org.apache.cassandra.thrift.CqlResult; +import org.apache.cassandra.thrift.InvalidRequestException; +import org.apache.cassandra.thrift.TimedOutException; +import org.apache.cassandra.thrift.UnavailableException; +import org.apache.thrift.TException; + +/** + * Cassandra statement: implementation class for {@link PreparedStatement}. + */ + +class CassandraStatement implements PreparedStatement +{ + +/** The connection. */ +private org.apache.cassandra.cql.driver.Connection connection; + +/** The cql. */ +private String cql; + +/** + * Constructor using fields. + * @param con cassandra connection. + */ +CassandraStatement(org.apache.cassandra.cql.driver.Connection con) +{ +this.connection = con; +} + +/** + * Constructor using fields. + * + * @param con cassandra connection + * @param cql the cql + */ +CassandraStatement(org.apache.cassandra.cql.driver.Connection con, String cql) +{ +this.connection = con; +this.cql = cql; +} + + +/** + * @param iface + * @return + * @throws SQLException + */ +public boolean isWrapperFor(Class? iface) throws SQLException +{ +throw new UnsupportedOperationException(method not supported); +} + +/** + * @param T + * @param iface + * @return + * @throws SQLException + */ +public T T unwrap(ClassT iface) throws SQLException +{ +throw new UnsupportedOperationException(method not supported); +} + + +/** + * @param arg0 + * @throws SQLException + */ +public void addBatch(String arg0) throws SQLException +{ +throw new UnsupportedOperationException(method not supported); + +} + + +/** + * @throws SQLException + */ +public void cancel() throws SQLException +{ +throw new UnsupportedOperationException(method not supported); + +} + + +/** + * @throws SQLException + */ +public void clearBatch() throws SQLException +{ +throw new UnsupportedOperationException(method not supported); + +} + + +/** + * @throws SQLException + */ +public void clearWarnings() throws SQLException +{ +throw new UnsupportedOperationException(method not supported); + +} + + +/** + * @throws SQLException + */ +public void close() throws SQLException +{ +throw new UnsupportedOperationException(method not supported); + +} + + +/** + * @param query + * @return + * @throws SQLException + */ +public boolean execute(String query) throws SQLException +{ +try +{ +return connection.execute(query) != null; +} +catch (InvalidRequestException e) +{ +throw new SQLException(e.getMessage()); +} +
svn commit: r1069594 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java
Author: brandonwilliams Date: Thu Feb 10 22:35:13 2011 New Revision: 1069594 URL: http://svn.apache.org/viewvc?rev=1069594view=rev Log: Keep endpoint state until aVeryLongTime when not a fat client Patch by brandonwilliams, reviewed by gdusbabek for CASSANDRA-2115 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java?rev=1069594r1=1069593r2=1069594view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/gms/Gossiper.java Thu Feb 10 22:35:13 2011 @@ -235,17 +235,18 @@ public class Gossiper implements IFailur } /** - * Removes the endpoint from unreachable endpoint set + * Removes the endpoint from gossip completely * * @param endpoint endpoint to be removed from the current membership. */ void evictFromMembership(InetAddress endpoint) { unreachableEndpoints_.remove(endpoint); +endpointStateMap_.remove(endpoint); } /** - * Removes the endpoint completely from Gossip + * Removes the endpoint from Gossip but retains endpoint state */ public void removeEndpoint(InetAddress endpoint) { @@ -255,7 +256,7 @@ public class Gossiper implements IFailur liveEndpoints_.remove(endpoint); unreachableEndpoints_.remove(endpoint); -// do not remove endpointState until the quarantine expires +// do not remove endpointState until aVeryLongTime FailureDetector.instance.remove(endpoint); justRemovedEndpoints_.put(endpoint, System.currentTimeMillis()); } @@ -425,20 +426,15 @@ public class Gossiper implements IFailur { long duration = now - epState.getUpdateTimestamp(); +if (StorageService.instance.getTokenMetadata().isMember(endpoint)) +epState.setHasToken(true); // check if this is a fat client. fat clients are removed automatically from // gosip after FatClientTimeout -if (!epState.getHasToken() !epState.isAlive() (duration FatClientTimeout_)) +if (!epState.getHasToken() !epState.isAlive() !justRemovedEndpoints_.containsKey(endpoint) (duration FatClientTimeout_)) { -if (StorageService.instance.getTokenMetadata().isMember(endpoint)) -epState.setHasToken(true); -else -{ -if (!justRemovedEndpoints_.containsKey(endpoint)) // if the node was decommissioned, it will have been removed but still appear as a fat client -{ -logger_.info(FatClient + endpoint + has been silent for + FatClientTimeout_ + ms, removing from gossip); -removeEndpoint(endpoint); // after quarantine justRemoveEndpoints will remove the state -} -} +logger_.info(FatClient + endpoint + has been silent for + FatClientTimeout_ + ms, removing from gossip); +removeEndpoint(endpoint); // will put it in justRemovedEndpoints to respect quarantine delay +evictFromMembership(endpoint); // can get rid of the state immediately } if ( !epState.isAlive() (duration aVeryLongTime_) ) @@ -458,7 +454,6 @@ public class Gossiper implements IFailur if (logger_.isDebugEnabled()) logger_.debug(QUARANTINE_DELAY + elapsed, + entry.getKey() + gossip quarantine over); justRemovedEndpoints_.remove(entry.getKey()); -endpointStateMap_.remove(entry.getKey()); } } }
buildbot failure in ASF Buildbot on cassandra-trunk
The Buildbot has detected a new failure of cassandra-trunk on ASF Buildbot. Full details are available at: http://ci.apache.org/builders/cassandra-trunk/builds/1017 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: isis_ubuntu Build Reason: Build Source Stamp: [branch cassandra/trunk] 1069593 Blamelist: eevans BUILD FAILED: failed compile sincerely, -The Buildbot
[jira] Resolved: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime
[ https://issues.apache.org/jira/browse/CASSANDRA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams resolved CASSANDRA-2115. - Resolution: Fixed Committed. Keep endpoint state until aVeryLongTime --- Key: CASSANDRA-2115 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 0.7.2 Attachments: 2115.txt In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state until QUARANTINE_DELAY has elapsed. However, if node X is leaving and node Y goes down and stays down longer than QUARANTINE_DELAY after X has left, Y will return thinking X is still a member of the cluster. Instead, let's hold onto the endpoint state even longer, until aVeryLongTime which is currently set to 3 days. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2152) Encryption options are not validated correctly in DatabaseDescriptor
[ https://issues.apache.org/jira/browse/CASSANDRA-2152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993252#comment-12993252 ] Hudson commented on CASSANDRA-2152: --- Integrated in Cassandra #721 (See [https://hudson.apache.org/hudson/job/Cassandra/721/]) check for null encryption in MessagingService. patch by Nate McCall, reviewed by gdusbabek. CASSANDRA-2152 Encryption options are not validated correctly in DatabaseDescriptor Key: CASSANDRA-2152 URL: https://issues.apache.org/jira/browse/CASSANDRA-2152 Project: Cassandra Issue Type: Bug Affects Versions: 0.8 Reporter: Nate McCall Assignee: Nate McCall Fix For: 0.8 Attachments: 2152.txt Missing configuration for encryption_options introduced via CASSANDRA-1567 result in an obtuse NPE from MessagingService -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2041) add paging of large rows to sstable2json
[ https://issues.apache.org/jira/browse/CASSANDRA-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993251#comment-12993251 ] Hudson commented on CASSANDRA-2041: --- Integrated in Cassandra #721 (See [https://hudson.apache.org/hudson/job/Cassandra/721/]) paging of large rows in sstable2json Patch by Pavel Yaskevich; reviewed by eevans for CASSANDRA-2041 add paging of large rows to sstable2json Key: CASSANDRA-2041 URL: https://issues.apache.org/jira/browse/CASSANDRA-2041 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Jonathan Ellis Assignee: Pavel Yaskevich Priority: Minor Fix For: 0.7.1 Attachments: CASSANDRA-2041-trunk.patch, CASSANDRA-2041-v2.patch, CASSANDRA-2041-v3.patch, CASSANDRA-2041.patch Original Estimate: 0h Remaining Estimate: 0h -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993253#comment-12993253 ] Eric Evans commented on CASSANDRA-2124: --- Obviously there is a lot more that can be done here, but this is a great start, so I went ahead and committed your latest. Thanks for the contribution! {quote} Additionally, it looks like CassandraResultSet creates String instances for column names and values, which is really going to limit the utility. Do you have plans to change that? Changes made. Thought to add generics with in place of Object, but seems overhead. {quote} Using Object for {{valueMap}} here isn't going to change much since {{next()}} still marshals the returned values to String. What I had planned to do for the generic driver ({{o.a.c.cql.driver.Connection}}), was to introduce the notion of a pluggable result decoder. The default decoder would introspect the schema (comparators and/or validators) to configure itself for the right types. I'm not sure how something like that could be applied to a JDBC driver though. JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069605 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java
Author: jbellis Date: Thu Feb 10 22:59:06 2011 New Revision: 1069605 URL: http://svn.apache.org/viewvc?rev=1069605view=rev Log: disk full is now IOException instead of UnsupportedOperation Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java?rev=1069605r1=1069604r2=1069605view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/CompactionManager.java Thu Feb 10 22:59:06 2011 @@ -490,7 +490,7 @@ public class CompactionManager implement long expectedRangeFileSize = cfs.getExpectedCompactedFileSize(Arrays.asList(sstable)) / 2; String compactionFileLocation = table.getDataFileLocation(expectedRangeFileSize); if (compactionFileLocation == null) -throw new UnsupportedOperationException(disk full); +throw new IOException(disk full); long startTime = System.currentTimeMillis(); long totalkeysWritten = 0;
[jira] Commented: (CASSANDRA-2115) Keep endpoint state until aVeryLongTime
[ https://issues.apache.org/jira/browse/CASSANDRA-2115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993272#comment-12993272 ] Hudson commented on CASSANDRA-2115: --- Integrated in Cassandra-0.7 #277 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/277/]) Keep endpoint state until aVeryLongTime when not a fat client Patch by brandonwilliams, reviewed by gdusbabek for CASSANDRA-2115 Keep endpoint state until aVeryLongTime --- Key: CASSANDRA-2115 URL: https://issues.apache.org/jira/browse/CASSANDRA-2115 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 0.7.1 Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 0.7.2 Attachments: 2115.txt In CASSANDRA-2072 we changed the gossiper so it holds onto endpoint state until QUARANTINE_DELAY has elapsed. However, if node X is leaving and node Y goes down and stays down longer than QUARANTINE_DELAY after X has left, Y will return thinking X is still a member of the cluster. Instead, let's hold onto the endpoint state even longer, until aVeryLongTime which is currently set to 3 days. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993297#comment-12993297 ] Vivek Mishra commented on CASSANDRA-2124: - Thanks Eric. it is just to startwith. need to put in a lot of things. What I had planned to do for the generic driver (o.a.c.cql.driver.Connection), was to introduce the notion of a pluggable result decoder. The default decoder would introspect the schema (comparators and/or validators) to configure itself for the right types. I'm not sure how something like that could be applied to a JDBC driver though. I think what we are talking here is something like resultSetMetadata/metadata for decode. Yes that is next on list. Suggest if creating subtask for these would be a good idea, as there is lot of things needs to be put in going ahead. JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993298#comment-12993298 ] Vivek Mishra commented on CASSANDRA-2124: - I think, Getting metadata for CF etc should be independent from jdbc driver. Better to introduce these alongwith API which produces CqlResult, Row etc? JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1069667 - in /cassandra/trunk/drivers/java/test: ./ org/ org/apache/ org/apache/cassandra/ org/apache/cassandra/cql/ org/apache/cassandra/cql/driver/ org/apache/cassandra/cql/driver/jdbc/
Author: eevans Date: Fri Feb 11 02:50:07 2011 New Revision: 1069667 URL: http://svn.apache.org/viewvc?rev=1069667view=rev Log: move JdbcDriverTest to a package Patch by eevans Added: cassandra/trunk/drivers/java/test/org/ cassandra/trunk/drivers/java/test/org/apache/ cassandra/trunk/drivers/java/test/org/apache/cassandra/ cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/ cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/ cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/EmbeddedServiceBase.java - copied, changed from r1069593, cassandra/trunk/drivers/java/test/BaseTest.java cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/jdbc/ cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/jdbc/JdbcDriverTest.java - copied, changed from r1069593, cassandra/trunk/drivers/java/test/JdbcDriverTest.java Removed: cassandra/trunk/drivers/java/test/BaseTest.java cassandra/trunk/drivers/java/test/JdbcDriverTest.java Copied: cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/EmbeddedServiceBase.java (from r1069593, cassandra/trunk/drivers/java/test/BaseTest.java) URL: http://svn.apache.org/viewvc/cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/EmbeddedServiceBase.java?p2=cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/EmbeddedServiceBase.javap1=cassandra/trunk/drivers/java/test/BaseTest.javar1=1069593r2=1069667rev=1069667view=diff == --- cassandra/trunk/drivers/java/test/BaseTest.java (original) +++ cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/EmbeddedServiceBase.java Fri Feb 11 02:50:07 2011 @@ -1,3 +1,4 @@ +package org.apache.cassandra.cql.driver.jdbc; import java.io.IOException; import java.net.Socket; @@ -14,7 +15,7 @@ import org.apache.cassandra.service.Embe /** * The abstract BaseClass. */ -public abstract class BaseTest extends TestCase +public abstract class EmbeddedServiceBase extends TestCase { /** The embedded server cassandra. */ Copied: cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/jdbc/JdbcDriverTest.java (from r1069593, cassandra/trunk/drivers/java/test/JdbcDriverTest.java) URL: http://svn.apache.org/viewvc/cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/jdbc/JdbcDriverTest.java?p2=cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/jdbc/JdbcDriverTest.javap1=cassandra/trunk/drivers/java/test/JdbcDriverTest.javar1=1069593r2=1069667rev=1069667view=diff == --- cassandra/trunk/drivers/java/test/JdbcDriverTest.java (original) +++ cassandra/trunk/drivers/java/test/org/apache/cassandra/cql/driver/jdbc/JdbcDriverTest.java Fri Feb 11 02:50:07 2011 @@ -1,3 +1,4 @@ +package org.apache.cassandra.cql.driver.jdbc; /* * * Licensed to the Apache Software Foundation (ASF) under one @@ -32,7 +33,7 @@ import org.apache.cassandra.config.Confi /** * Test case for unit test of various methods of JDBC implementation. */ -public class JdbcDriverTest extends BaseTest +public class JdbcDriverTest extends EmbeddedServiceBase { private java.sql.Connection con = null;
buildbot success in ASF Buildbot on cassandra-trunk
The Buildbot has detected a restored build of cassandra-trunk on ASF Buildbot. Full details are available at: http://ci.apache.org/builders/cassandra-trunk/builds/1018 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: isis_ubuntu Build Reason: Build Source Stamp: [branch cassandra/trunk] 1069667 Blamelist: eevans Build succeeded! sincerely, -The Buildbot
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993324#comment-12993324 ] Eric Evans commented on CASSANDRA-2124: --- bq. I think, Getting metadata for CF etc should be independent from jdbc driver. Better to introduce these alongwith API which produces CqlResult, Row etc? CQL will need a means to query for schema information, but for now, that could be obtained using raw Thrift and the {{describe_keyspace(String keyspace)}} RPC method. JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993329#comment-12993329 ] Hudson commented on CASSANDRA-2124: --- Integrated in Cassandra #723 (See [https://hudson.apache.org/hudson/job/Cassandra/723/]) JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12993332#comment-12993332 ] Jonathan Ellis commented on CASSANDRA-2124: --- bq. CQL will need a means to query for schema information, but for now, that could be obtained using raw Thrift and the describe_keyspace(String keyspace) RPC method. Agreed, -1 on premature generalization JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1299#comment-1299 ] Jonathan Ellis commented on CASSANDRA-2124: --- ... although, it may be useful to extract what CliClient is already doing there (using describe_keyspace). JDBC driver for CQL --- Key: CASSANDRA-2124 URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 Project: Cassandra Issue Type: New Feature Components: API Reporter: Eric Evans Assignee: Vivek Mishra Priority: Minor Labels: cql Attachments: Cassandra-2124_v1.0, cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1 A simple connection class and corresponding pool was created for CQL as a part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (CASSANDRA-2153) client temporarily freezes due to hard-coded JMX port
client temporarily freezes due to hard-coded JMX port - Key: CASSANDRA-2153 URL: https://issues.apache.org/jira/browse/CASSANDRA-2153 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.0 Reporter: Yang Yang when you do a show keyspaces inside cassandra-cli, on the current 0.7 head svn, the client CliSessionState.java hardcodes the JMX port to be 8080 so if there is indeed a webserver listening on 8080, it gets the connection and indeed tries to talk to it, but the protocol doesn't make sense to cassandra-cli , so it freezes for about 10 seconds before finally giving up. changing the hardcoded value to my actual jmx port fixes the issue. so this should be read from config file or argument -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira