GitHub user akshita-malhotra opened a pull request:
https://github.com/apache/phoenix/pull/239
Phoenix-3744: Support snapshot scanners for MR-based queries
- Parallel Scan grouper is extended to differentiate the functionality for
getting region boundaries
- Added integration test, compares the snapshot read result with the result
from select query by setting CurrentScn value.
- the configuration parameter is the snapshot name key, if set do a
snapshot read
- Used an existing PhoenixIndexDBWritable class for the purpose of testing,
will add a new one as I will add more tests.
- ExpressionProjector functionality is extended for snapshots as the
keyvalue format returned from TableSnapshotScanner is different from
ClientScanner and therefore not properly interrupted by Phoenix thereby
returning null in case of projected columns.
For the same table, following shows the different format of the keyvalues:
1. ClientScanner:
keyvalues={AAPL/_v:\x00\x00\x00\x01/1493061452132/Put/vlen=7/seqid=0/value=SSDD }
2. TableSnapshotScanner:
keyvalues={AAPL/0:\x00\x00\x00\x00/1493061673859/Put/vlen=1/seqid=4/value=x,
AAPL/0:\x80\x0B/1493061673859/Put/vlen=4/seqid=4/value=SSDD}
@JamesRTaylor @lhofhansl
To DO:
Add more integration tests to cover different scenarios such as where
clause etc
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/akshita-malhotra/phoenix Phoenix-3744
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/phoenix/pull/239.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #239
----
commit 73b1ac04c45381a2a0511146c666af476e488cdf
Author: Akshita <[email protected]>
Date: 2017-04-24T18:43:02Z
Phoenix-3744: Support snapshot scanners for MR-based queries
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---