Synopsis
To see the problem one had to connect directly to the MySQL/MariaDB service of the PDAC master node and pick one of the object identifiers from the corresponding index table, or just by picking any random key from that table. For example:
SELECT * FROM qservMeta.wise_00__Object LIMIT 10;
|
+----------------------+---------+------------+
|
| source_id | chunkId | subChunkId |
|
+----------------------+---------+------------+
|
| 0000m016_ac51-000001 | 112201 | 759 |
|
| 0000m016_ac51-000003 | 112881 | 138 |
|
| 0000m016_ac51-000005 | 112201 | 760 |
|
| 0000m016_ac51-000006 | 112201 | 557 |
|
| 0000m016_ac51-000008 | 112880 | 11 |
|
| 0000m016_ac51-000009 | 112200 | 770 |
|
| 0000m016_ac51-000010 | 112201 | 760 |
|
| 0000m016_ac51-000011 | 112201 | 691 |
|
| 0000m016_ac51-000012 | 112201 | 690 |
|
| 0000m016_ac51-000013 | 112201 | 621 |
|
+----------------------+---------+------------+
|
Then one has to connect to the Qservr mysql-proxy service (port 4040) on that node and do:
SELECT COUNT(*) FROM wise_00.Object WHERE source_id='0000m016_ac51-000001';
|
+----------------+
|
| SUM(QS1_COUNT) |
|
+----------------+
|
| 0 |
|
+----------------+
|
1 row in set (0.55 sec)
|
or:
SELECT COUNT(*) FROM wise_00.Object WHERE source_id IN ('0000m016_ac51-000001');
|
+----------------+
|
| SUM(QS1_COUNT) |
|
+----------------+
|
| 0 |
|
+----------------+
|
1 row in set (0.53 sec)
|
In contrast with that the full scan query would always return the right object:
SELECT COUNT(*) FROM wise_00.Object WHERE source_id LIKE '0000m016_ac51-000001';
|
+----------------+
|
| SUM(QS1_COUNT) |
|
+----------------+
|
| 1 |
|
+----------------+
|
1 row in set (6 min 22.42 sec)
|
Unfortunately the performance of that query is very bad because all chunks would need to be scanned.
Synopsis
To see the problem one had to connect directly to the MySQL/MariaDB service of the PDAC master node and pick one of the object identifiers from the corresponding index table, or just by picking any random key from that table. For example:
| source_id | chunkId | subChunkId |
| 0000m016_ac51-000001 | 112201 | 759 |
| 0000m016_ac51-000003 | 112881 | 138 |
| 0000m016_ac51-000005 | 112201 | 760 |
| 0000m016_ac51-000006 | 112201 | 557 |
| 0000m016_ac51-000008 | 112880 | 11 |
| 0000m016_ac51-000009 | 112200 | 770 |
| 0000m016_ac51-000010 | 112201 | 760 |
| 0000m016_ac51-000011 | 112201 | 691 |
| 0000m016_ac51-000012 | 112201 | 690 |
| 0000m016_ac51-000013 | 112201 | 621 |
Then one has to connect to the Qservr mysql-proxy service (port 4040) on that node and do:
| 0 |
or:
| 0 |
In contrast with that the full scan query would always return the right object:
| 1 |
Unfortunately the performance of that query is very bad because all chunks would need to be scanned.