I do not think that it has anything to do with Astyanax, but after I have recreated the keyspace with cassandra-cli, everything is working fine. Also, I have mention below that not even "nodetool describering foo", did not showed correct information for the tokens, encoding_details, if the keyspace was created with cqlsh.

Thanks,
Gabi

On 1/24/13 9:21 PM, Ivan Velykorodnyy wrote:
Hi,

Astyanax is not 1.2 compatible yet https://github.com/Netflix/astyanax/issues/191
Eran planned to make it in 1.57.x

четверг, 24 января 2013 г. пользователь Gabriel Ciuloaica писал:

    Hi,

    I have spent half of the day today trying to make a new Cassandra
    cluster to work. I have setup a single data center cluster, using
    NetworkTopologyStrategy, DC1:3.
    I'm using latest version of Astyanax client to connect. After many
    hours of debug, I found out that the problem may be in cqlsh utility.

    So, after the cluster was up and running:
    [me@cassandra-node1 cassandra]$ nodetool status
    Datacenter: DC-1
    ======================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address           Load       Tokens  Owns (effective)  Host ID
    Rack
    UN  10.11.1.109       59.1 KB    256 0.0%
    726689df-edc3-49a0-b680-370953994a8c  RAC2
    UN  10.11.1.108       67.49 KB   256 0.0%
    73cd86a9-4efb-4407-9fe8-9a1b3a277af7  RAC1
    UN  10.11.1.200       59.84 KB   64 0.0%
    d6d700d4-28aa-4722-b215-a6a7d304b8e7  RAC3

    I went to create the keyspace:
    1. First I have tried using cqlsh:
    create keyspace foo with replication=
    {'class':'NetworkTopologyStrategy','DC1':3};

    after this, I have checked that the keyspace was properly created
    by running

    cqlsh> select * from system.schema_keyspaces;
     keyspace_name | durable_writes |
    strategy_class                                       |
    strategy_options
    
---------------+----------------+------------------------------------------------------+----------------------------
       system_auth |           True |
    org.apache.cassandra.locator.SimpleStrategy |
    {"replication_factor":"1"}
      foo |           True |
org.apache.cassandra.locator.NetworkTopologyStrategy | {"dc1":"3"}
            system |           True |
    org.apache.cassandra.locator.LocalStrategy
    |                         {}
     system_traces |           True |
    org.apache.cassandra.locator.SimpleStrategy |
    {"replication_factor":"1"}

    but if I run nodetool describering foo, it will not show anything
    into endpoint, or endpoint_details fields.

    In this situation, Astyanax client will throw exception with
    /NoAvailableHostsException/. I have used following configuration:

withAstyanaxConfiguration(new AstyanaxConfigurationImpl() .setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE)
             .setConnectionPoolType(ConnectionPoolType.TOKEN_AWARE)


    First option did not worked at all.

    2. I've dropped the keyspace crated with cqlsh and re-created with
    cassandra-cli. This time, the nodetool describering foo, shows
    information into endpoint and endpoint_details columns, and also
    the Astyanax client works properly.

    Hope it will avoid others to avoid spending time to figure out how
    to go around this issue.

    Br,
    Gabi


Reply via email to