Row count [select count(*) from table] not matching with the actual row count present in the table

classic Classic list List threaded Threaded
3 messages Options
shivakumar shivakumar
Reply | Threaded
Open this post in threaded view
|

Row count [select count(*) from table] not matching with the actual row count present in the table

To reproduce, create a sample table using JDBC endpoint:

CREATE TABLE person(Id VARCHAR, birthTime TIMESTAMP, name VARCHAR, PRIMARY
KEY(Id)) WITH "TEMPLATE=templateEternal,CACHE_NAME=person,
KEY_TYPE=personKey,VALUE_TYPE=person";

 

and configure cache expiry policy as below

<property name="cacheConfiguration">
<list>
<bean id="cache-template-bean" abstract="true"
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="templateEternal*"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="backups" value="1"/>
<property name="groupName" value="groupEternal"/>
<property name="expiryPolicyFactory">
<bean class="javax.cache.expiry.CreatedExpiryPolicy"
factory-method="factoryOf">
<constructor-arg>
<bean class="javax.cache.expiry.Duration">
<constructor-arg value="SECONDS"/>
<constructor-arg value="600"/>
</bean>
</constructor-arg>
</bean>
</property>
</bean>
</list>
</property>

with above cache configuration records will start expiring at the end of 10
minute, batch insert around 10000 records to the table and after 10 minute
records will start expiring but after some time check the records count
[select count(*) from person] most of the time it will show some non zero
number but if rows are selected instead of count to see the actual data with
[select * from person]  there will be zero rows.

why count is not becoming zero even though there are now data (rows) in the
table ?

0: jdbc:ignite:thin://10...*:10800> select count from person;
--------------------------------

COUNT
--------------------------------

70
--------------------------------
1 row selected (0.004 seconds)
0: jdbc:ignite:thin://10...*:10800> select * from person;
-------------------------------------------------------------+--------------------------------------------------------------+--------------------------------

ID BIRTHTIME NAME
-------------------------------------------------------------+--------------------------------------------------------------+--------------------------------
-------------------------------------------------------------+--------------------------------------------------------------+--------------------------------
No rows selected (0.015 seconds)
0: jdbc:ignite:thin://10...*:10800>



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
shivakumar shivakumar
Reply | Threaded
Open this post in threaded view
|

Re: Row count [select count(*) from table] not matching with the actual row count present in the table

HI
Any Idea on this issue ?
I have created Jira bug for this issue
https://issues.apache.org/jira/browse/IGNITE-11917


regars,
shiva



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Maxim.Pudov Maxim.Pudov
Reply | Threaded
Open this post in threaded view
|

Re: Row count [select count(*) from table] not matching with the actual row count present in the table

Looks like a problem indeed. Evgenii already assigned the ticket to himself.
Once the issue is fixed it will be included in the next release. Thank you
for revealing the problem!



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/