cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ye Liang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-12767) Cassandra Java Driver insert using ifnotexist under Protocol V3 work bad
Date Mon, 10 Oct 2016 12:10:20 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-12767?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ye Liang updated CASSANDRA-12767:
---------------------------------
    Description: 
When I use Cassandra Java Driver to connect a C* cluster with a Protocol Version 3,such as
:        
Builder builder = Cluster.builder().withProtocolVersion(ProtocolVersion.V3);

I insert some record to an exist table using ifnotexist,for example:
QueryBuilder.insertInto(xxx).ifNotExists();

Then,i will delete the record normally.

i do the two step over and over again

I find something strange to me :
insert and delete operation are always success(no exception and the response looks ok).but
before i delete the record,i use select statement to query my record.when i insert the record
for the first time  i can always  query my record.but after that i seldom query my record
successfully between insert and delete.

I just use a single node cassandra cluster to exclude the effect of data consistency.And when
i use a Protocol Version 2,it works well,everytime i query my record between insert and delete
works

  was:
When I use Cassandra Java Driver to connect a C* cluster with a Protocol Version 3,such as
:        
Builder builder = Cluster.builder().withProtocolVersion(ProtocolVersion.V3);

I insert some record to an exist table using ifnotexist,for example:
QueryBuilder.insertInto(xxx).ifNotExists();

Then,i will delete the record normally.

i do the two step over and over again

I find something strange to me :
insert and delete operation are always success(no exception and the response looks ok).but
before i delete the record,i use select statement to query my record.when i insert the record
for the first time  i can always  query my record.but after that i seldom query my record
successfully between insert and delete.

I just use a single node cassandra cluster to exclude the effect of data consistency.And when
i use a Protocol Version 2,it works well,everytime i query my record between insert and delete
works

addition:
Although i can not query my records,i can find out which sstables  my record is in using nodetool
getsstables.
when i enable the tracing in cqlsh,the result like that : 

 a | b | c |
---+---+---
 1 | 2 | 4 |

(1 rows)

Tracing session: 25e29c20-8ee2-11e6-8ff2-5b1461331918

 activity                                                                                
                             | timestamp                  | source         | source_elapsed
-----------------------------------------------------------------------------------------------------------------------+----------------------------+----------------+----------------
                                                                                         
          Execute CQL3 query | 2016-10-10 20:07:43.074000 | 192.168.195.25 |             
0
                                              Parsing select * from app12345.deletebyfindcltest;
[SharedPool-Worker-1] | 2016-10-10 20:07:43.075000 | 192.168.195.25 |             92
                                                                             Preparing statement
[SharedPool-Worker-1] | 2016-10-10 20:07:43.076000 | 192.168.195.25 |            211
                                                                       Computing ranges to
query [SharedPool-Worker-1] | 2016-10-10 20:07:43.076000 | 192.168.195.25 |            393
  Submitting range requests on 1025 ranges with a concurrency of 1 (0.0 rows per range expected)
[SharedPool-Worker-1] | 2016-10-10 20:07:43.077000 | 192.168.195.25 |            666
                                      Submitted 1 concurrent range requests covering 1025
ranges [SharedPool-Worker-1] | 2016-10-10 20:07:43.080000 | 192.168.195.25 |           6284
 Executing seq scan across 0 sstables for [min(-9223372036854775808), min(-9223372036854775808)]
[SharedPool-Worker-2] | 2016-10-10 20:07:43.081000 | 192.168.195.25 |           6374
                                                               Read 0 live and 0 tombstone
cells [SharedPool-Worker-2] | 2016-10-10 20:07:43.081000 | 192.168.195.25 |           6501
                                                               Read 1 live and 0 tombstone
cells [SharedPool-Worker-2] | 2016-10-10 20:07:43.082000 | 192.168.195.25 |           6652
                                                               Read 0 live and 0 tombstone
cells [SharedPool-Worker-2] | 2016-10-10 20:07:43.083000 | 192.168.195.25 |           6722
                                                               Read 0 live and 0 tombstone
cells [SharedPool-Worker-2] | 2016-10-10 20:07:43.084000 | 192.168.195.25 |           6779
                                                                    Scanned 4 rows and matched
4 [SharedPool-Worker-2] | 2016-10-10 20:07:43.084000 | 192.168.195.25 |           6807
                                                                                         
            Request complete | 2016-10-10 20:07:43.081037 | 192.168.195.25 |           7037




> Cassandra Java Driver insert using ifnotexist under Protocol V3 work bad
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12767
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12767
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 2.1.15
> Cassandra Java Driver 3.1.0
>            Reporter: Ye Liang
>            Priority: Minor
>
> When I use Cassandra Java Driver to connect a C* cluster with a Protocol Version 3,such
as :        
> Builder builder = Cluster.builder().withProtocolVersion(ProtocolVersion.V3);
> I insert some record to an exist table using ifnotexist,for example:
> QueryBuilder.insertInto(xxx).ifNotExists();
> Then,i will delete the record normally.
> i do the two step over and over again
> I find something strange to me :
> insert and delete operation are always success(no exception and the response looks ok).but
before i delete the record,i use select statement to query my record.when i insert the record
for the first time  i can always  query my record.but after that i seldom query my record
successfully between insert and delete.
> I just use a single node cassandra cluster to exclude the effect of data consistency.And
when i use a Protocol Version 2,it works well,everytime i query my record between insert and
delete works



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message