[
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)