You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by aaron morton <aa...@thelastpickle.com> on 2012/06/01 03:54:41 UTC
Re: newbie question :got error 'org.apache.thrift.transport.TTransportException'
Sounds like https://issues.apache.org/jira/browse/CASSANDRA-4219?attachmentOrder=desc
Drop back to 1.0.10 and have a play.
Good luck.
-----------------
Aaron Morton
Freelance Developer
@aaronmorton
http://www.thelastpickle.com
On 1/06/2012, at 6:38 AM, Chen, Simon wrote:
> Hi,
> I am new to Cassandra.
> I have started a Cassandra instance (Cassandra.bat), played with it for a while, created a keyspace Zodiac.
> When I kill Cassandra instance and restarted, the keyspace is gone but when I tried to recreate it,
> I got 'org.apache.thrift.transport.TTransportException’ error. What have I done wrong here?
>
> Following are screen shots:
>
> C:\cassandra-1.1.0>bin\cassandra-cli -host localhost -f C:\NoSqlProjects\dropZ.txt
> Starting Cassandra Client
> Connected to: "ssc2Cluster" on localhost/9160
> Line 1 => Keyspace 'Zodiac' not found.
>
> C:\cassandra-1.1.0>bin\cassandra-cli -host localhost -f C:\NoSqlProjects\usageDB.txt
> Starting Cassandra Client
> Connected to: "ssc2Cluster" on localhost/9160
> Line 1 => org.apache.thrift.transport.TTransportException
>
> Following is part of server error message:
>
> INFO 11:09:56,761 Node localhost/127.0.0.1 state jump to normal
> INFO 11:09:56,761 Bootstrap/Replace/Move completed! Now serving reads.
> INFO 11:09:56,761 Will not load MX4J, mx4j-tools.jar is not in the classpath
> INFO 11:09:56,781 Binding thrift service to localhost/127.0.0.1:9160
> INFO 11:09:56,781 Using TFastFramedTransport with a max frame size of 15728640 bytes.
> INFO 11:09:56,791 Using synchronous/threadpool thrift server on localhost/127.0.0.1 : 9160
> INFO 11:09:56,791 Listening for thrift clients...
> INFO 11:20:06,044 Enqueuing flush of Memtable-schema_keyspaces@1062244145(184/230 serialized/live bytes, 4 ops)
> INFO 11:20:06,054 Writing Memtable-schema_keyspaces@1062244145(184/230 serialized/live bytes, 4 ops)
> INFO 11:20:06,074 Completed flushing c:\cassandra_data\data\system\schema_keyspaces\system-schema_keyspaces-hc-62-Data.
> b (240 bytes)
> RROR 11:20:06,134 Exception in thread Thread[MigrationStage:1,5,main]
> ava.lang.AssertionError
> at org.apache.cassandra.db.DefsTable.updateKeyspace(DefsTable.java:441)
> at org.apache.cassandra.db.DefsTable.mergeKeyspaces(DefsTable.java:339)
> at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:269)
> at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:214)
> at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> at java.util.concurrent.FutureTask.run(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> RROR 11:20:06,134 Error occurred during processing of message.
> ava.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.AssertionError
>
> usageDB.txt:
>
> create keyspace Zodiac
> with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
> and strategy_options = {replication_factor:1};
>
> use Zodiac;
>
> create column family ServiceUsage
> with comparator = UTF8Type
> and default_validation_class = UTF8Type
> and key_validation_class = LongType
> AND column_metadata = [
> {column_name: 'TASK_ID', validation_class: IntegerType}
> {column_name: 'USAGE_COUNT', validation_class: IntegerType}
> {column_name: 'USAGE_TYPE', validation_class: UTF8Type}
> ];
>
>
>
>
> From: Chong Zhang [mailto:chongz.zhang@gmail.com]
> Sent: Thursday, May 31, 2012 8:47 AM
> To: user@cassandra.apache.org
> Subject: Re: tokens and RF for multiple phases of deployment
>
> Thanks Aaron.
>
> I might use LOCAL_QUORUM to avoid the waiting on the ack from DC2.
>
> Another question, after I setup a new node with token +1 in a new DC, and updated a CF with RF {DC1:2, DC2:1}. When i update a column on one node in DC1, it's also updated in the new node in DC2. But all the other rows are not in the new node. Do I need to copy the data files from a node in DC1 to the new node?
>
> The ring (2 in DC1, 1 in DC2) looks OK, but the load on the new node in DC2 is almost 0%.
>
> Address DC Rack Status State Load Owns Token
> 85070591730234615865843651857942052864
> 10.10.10.1 DC1 RAC1 Up Normal 313.99 MB 50.00% 0
> 10.10.10.3 DC2 RAC1 Up Normal 7.07 MB 0.00% 1
> 10.10.10.2 DC1 RAC1 Up Normal 288.91 MB 50.00% 85070591730234615865843651857942052864
>
> Thanks,
> Chong
>
> On Thu, May 31, 2012 at 5:48 AM, aaron morton <aa...@thelastpickle.com> wrote:
>
> Could you provide some guide on how to assign the tokens in this growing deployment phases?
>
> background http://www.datastax.com/docs/1.0/install/cluster_init#calculating-tokens-for-a-multi-data-center-cluster
>
> Start with tokens for a 4 node cluster. Add the next 4 between between each of the ranges. Add 8 in the new DC to have the same tokens as the first DC +1
>
> Also if we use the same RF (3) in both DC, and use EACH_QUORUM for write and LOCAL_QUORUM for read, can the read also reach to the 2nd cluster?
> No. It will fail if there are not enough nodes available in the first DC.
>
> We'd like to keep both write and read on the same cluster.
> Writes go to all replicas. Using EACH_QUORUM means the client in the first DC will be waiting for the quorum from the second DC to ack the write.
>
>
> Cheers
> -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
>
> On 31/05/2012, at 3:20 AM, Chong Zhang wrote:
>
>
> Hi all,
>
> We are planning to deploy a small cluster with 4 nodes in one DC first, and will expend that to 8 nodes, then add another DC with 8 nodes for fail over (not active-active), so all the traffic will go to the 1st cluster, and switch to 2nd cluster if the whole 1st cluster is down or on maintenance.
>
> Could you provide some guide on how to assign the tokens in this growing deployment phases? I looked at some docs but not very clear on how to assign tokens on the fail-over case.
> Also if we use the same RF (3) in both DC, and use EACH_QUORUM for write and LOCAL_QUORUM for read, can the read also reach to the 2nd cluster? We'd like to keep both write and read on the same cluster.
>
> Thanks in advance,
> Chong
>
>