-
Notifications
You must be signed in to change notification settings - Fork 1k
PHOENIX-6620 TransformTool to fix unverified rows and do validation #1371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I haven't reviewed the code in detail, but could you add some tests to make sure that VERIFIED status is preserved when doing the transform, especially for transactional tables that do not have the index maintainer coprocessor ? |
|
@stoty will do. Do you have a sample test that I can tweak for TransformTool? If the table is transactional and going trough transform and if an update is made, you want to see that the verified flag is set correctly? |
|
The indextool fix is PHOENIX-6611 . I am more worried abot the scenario where whe have a (transactional) table with global indexes, and where the rows are in verified state, losing the VERFIED status after transforming. IndexToolIT.testSecondaryIndex() checks this here:
The above test case checks for mutable, immutable, and transactional tables, doing the same for Transforms may also be useful. I can see you are adding the option to check all rows in this patch, but not sure if we test that we don't break the already VERFIED rows' status during transform, where we don't need to touch the index rows. You may have added check for this for the other cases, I haven't read the patch fully. |
871be0c to
17b2f23
Compare
| testVerifiedForTransactionalTable("TEPHRA"); | ||
| } | ||
|
|
||
| private void testVerifiedForTransactionalTable(String provider) throws Exception{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stoty added this test for TEPHRA. For OMID, we cannot have transform for now because the only type we support is changing column encoding and storage format encoding which is not compatible with OMID. When we have different type of transforms, we can add a test for OMID too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gokceni - I see existing error messages UNSUPPORTED_COLUMN_ENCODING_FOR_TXN_PROVIDER and UNSUPPORTED_STORAGE_FORMAT_FOR_TXN_PROVIDER -- do those get thrown on an ALTER of an OMID table or just a CREATE? If just a CREATE, it should probably do so for ALTER too. (Can be a separate JIRA.)
|
Thank you @gokceni. |
17b2f23 to
3fd00b3
Compare
|
@gokceni - looks like there's a compilation error (I think because of the moving of VERIFIED_BYTES in Istvan's recent patch) |
3fd00b3 to
71cf169
Compare
|
@gjacoby126 fixed. Thanks |
gjacoby126
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 @gokceni (but see a question below)
| testVerifiedForTransactionalTable("TEPHRA"); | ||
| } | ||
|
|
||
| private void testVerifiedForTransactionalTable(String provider) throws Exception{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gokceni - I see existing error messages UNSUPPORTED_COLUMN_ENCODING_FOR_TXN_PROVIDER and UNSUPPORTED_STORAGE_FORMAT_FOR_TXN_PROVIDER -- do those get thrown on an ALTER of an OMID table or just a CREATE? If just a CREATE, it should probably do so for ALTER too. (Can be a separate JIRA.)
phoenix-core/src/it/java/org/apache/phoenix/end2end/TransformToolIT.java
Show resolved
Hide resolved
|
merged |
No description provided.