Skip to content

PHOENIX-6434 Secondary Indexes on PHOENIX_ROW_TIMESTAMP() - #1194

Merged
kadirozde merged 3 commits into
apache:4.xfrom
kadirozde:6434
Apr 22, 2021
Merged

PHOENIX-6434 Secondary Indexes on PHOENIX_ROW_TIMESTAMP()#1194
kadirozde merged 3 commits into
apache:4.xfrom
kadirozde:6434

Conversation

@kadirozde

Copy link
Copy Markdown
Contributor

No description provided.

@stoty

Copy link
Copy Markdown
Contributor

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec6m 47sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ 4.x Compile Tests _
+1 💚mvninstall15m 13s4.x passed
+1 💚compile1m 34s4.x passed
+1 💚checkstyle1m 50s4.x passed
+1 💚javadoc0m 55s4.x passed
+0 🆗spotbugs3m 51sphoenix-core in 4.x has 945 extant spotbugs warnings.
_ Patch Compile Tests _
+1 💚mvninstall8m 3sthe patch passed
+1 💚compile1m 17sthe patch passed
+1 💚javac1m 17sthe patch passed
-1 ❌checkstyle1m 53sphoenix-core: The patch generated 86 new + 4405 unchanged - 39 fixed = 4491 total (was 4444)
-1 ❌whitespace0m 0sThe patch 1 line(s) with tabs.
+1 💚javadoc0m 56sthe patch passed
-1 ❌spotbugs4m 5sphoenix-core generated 2 new + 945 unchanged - 0 fixed = 947 total (was 945)
_ Other Tests _
-1 ❌unit264m 29sphoenix-core in the patch failed.
+1 💚asflicense0m 40sThe patch does not generate ASF License warnings.
314m 29s
ReasonTests
FindBugsmodule:phoenix-core
Possible null pointer dereference of dataColumn in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) Dereferenced at IndexMaintainer.java:dataColumn in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) Dereferenced at IndexMaintainer.java:[line 594]
Redundant nullcheck of value which is known to be null in org.apache.phoenix.schema.tuple.ValueGetterTuple.getValue(byte[], byte[]) Redundant null check at ValueGetterTuple.java:is known to be null in org.apache.phoenix.schema.tuple.ValueGetterTuple.getValue(byte[], byte[]) Redundant null check at ValueGetterTuple.java:[line 73]
Failed junit testsphoenix.tx.ParameterizedTransactionIT
phoenix.end2end.CsvBulkLoadToolIT
phoenix.util.IndexScrutinyIT
phoenix.tx.TransactionIT
phoenix.end2end.index.PartialIndexRebuilderIT
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#1194
Optional Testsdupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile
unameLinux 946865c23673 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev/phoenix-personality.sh
git revision4.x / 33f2463
Default JavaPrivate Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08
checkstylehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt
whitespacehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/artifact/yetus-general-check/output/whitespace-tabs.txt
spotbugshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html
unithttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt
Test Resultshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/testReport/
Max. process+thread count4765 (vs. ulimit of 30000)
modulesC: phoenix-core U: phoenix-core
Console outputhttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/1/console
versionsgit=2.7.4 maven=3.3.9 spotbugs=4.1.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@stoty

Copy link
Copy Markdown
Contributor

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 28sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 1sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ 4.x Compile Tests _
+1 💚mvninstall15m 33s4.x passed
+1 💚compile1m 15s4.x passed
+1 💚checkstyle1m 54s4.x passed
+1 💚javadoc0m 56s4.x passed
+0 🆗spotbugs3m 43sphoenix-core in 4.x has 945 extant spotbugs warnings.
_ Patch Compile Tests _
+1 💚mvninstall8m 6sthe patch passed
+1 💚compile1m 21sthe patch passed
+1 💚javac1m 21sthe patch passed
-1 ❌checkstyle2m 1sphoenix-core: The patch generated 53 new + 4448 unchanged - 12 fixed = 4501 total (was 4460)
-1 ❌whitespace0m 0sThe patch 1 line(s) with tabs.
+1 💚javadoc1m 2sthe patch passed
-1 ❌spotbugs4m 8sphoenix-core generated 2 new + 945 unchanged - 0 fixed = 947 total (was 945)
_ Other Tests _
-1 ❌unit207m 28sphoenix-core in the patch failed.
+1 💚asflicense0m 39sThe patch does not generate ASF License warnings.
252m 23s
ReasonTests
FindBugsmodule:phoenix-core
Invocation of toString on cf in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:[line 595]
Invocation of toString on cq in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:[line 595]
Failed junit testsphoenix.end2end.ColumnProjectionOptimizationIT
phoenix.end2end.NativeHBaseTypesIT
phoenix.end2end.QueryDatabaseMetaDataIT
phoenix.end2end.AggregateIT
phoenix.end2end.index.ImmutableIndexIT
phoenix.tx.FlappingTransactionIT
phoenix.end2end.MultiCfQueryExecIT
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#1194
Optional Testsdupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile
unameLinux 6041841b9b23 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev/phoenix-personality.sh
git revision4.x / b0772eb
Default JavaPrivate Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08
checkstylehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt
whitespacehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/artifact/yetus-general-check/output/whitespace-tabs.txt
spotbugshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html
unithttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt
Test Resultshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/testReport/
Max. process+thread count4829 (vs. ulimit of 30000)
modulesC: phoenix-core U: phoenix-core
Console outputhttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/2/console
versionsgit=2.7.4 maven=3.3.9 spotbugs=4.1.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@stoty

Copy link
Copy Markdown
Contributor

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec5m 40sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ 4.x Compile Tests _
+1 💚mvninstall13m 57s4.x passed
+1 💚compile1m 2s4.x passed
+1 💚checkstyle2m 21s4.x passed
+1 💚javadoc0m 46s4.x passed
+0 🆗spotbugs3m 1sphoenix-core in 4.x has 945 extant spotbugs warnings.
_ Patch Compile Tests _
+1 💚mvninstall5m 45sthe patch passed
+1 💚compile1m 0sthe patch passed
+1 💚javac1m 0sthe patch passed
-1 ❌checkstyle2m 24sphoenix-core: The patch generated 90 new + 4515 unchanged - 50 fixed = 4605 total (was 4565)
-1 ❌whitespace0m 0sThe patch 1 line(s) with tabs.
+1 💚javadoc0m 44sthe patch passed
-1 ❌spotbugs3m 12sphoenix-core generated 2 new + 945 unchanged - 0 fixed = 947 total (was 945)
_ Other Tests _
-1 ❌unit135m 24sphoenix-core in the patch failed.
+1 💚asflicense0m 50sThe patch does not generate ASF License warnings.
179m 4s
ReasonTests
FindBugsmodule:phoenix-core
Invocation of toString on cf in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:[line 595]
Invocation of toString on cq in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:in org.apache.phoenix.index.IndexMaintainer$5.addDataColInfo(PTable, Expression) At IndexMaintainer.java:[line 595]
Failed junit testsphoenix.schema.stats.TxStatsCollectorIT
phoenix.schema.stats.NonTxStatsCollectorIT
phoenix.schema.stats.NamespaceEnabledStatsCollectorIT
phoenix.schema.stats.NamespaceDisabledStatsCollectorIT
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#1194
Optional Testsdupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile
unameLinux b24ec13d9702 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev/phoenix-personality.sh
git revision4.x / b0772eb
Default JavaPrivate Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08
checkstylehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt
whitespacehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/artifact/yetus-general-check/output/whitespace-tabs.txt
spotbugshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html
unithttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt
Test Resultshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/testReport/
Max. process+thread count5570 (vs. ulimit of 30000)
modulesC: phoenix-core U: phoenix-core
Console outputhttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/3/console
versionsgit=2.7.4 maven=3.3.9 spotbugs=4.1.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@stoty

Copy link
Copy Markdown
Contributor

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 14sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ 4.x Compile Tests _
+1 💚mvninstall16m 7s4.x passed
+1 💚compile1m 24s4.x passed
+1 💚checkstyle2m 7s4.x passed
+1 💚javadoc0m 59s4.x passed
+0 🆗spotbugs4m 16sphoenix-core in 4.x has 945 extant spotbugs warnings.
_ Patch Compile Tests _
+1 💚mvninstall8m 54sthe patch passed
+1 💚compile1m 27sthe patch passed
+1 💚javac1m 27sthe patch passed
-1 ❌checkstyle1m 53sphoenix-core: The patch generated 61 new + 4438 unchanged - 22 fixed = 4499 total (was 4460)
-1 ❌whitespace0m 1sThe patch 1 line(s) with tabs.
+1 💚javadoc0m 59sthe patch passed
+1 💚spotbugs4m 8sthe patch passed
_ Other Tests _
-1 ❌unit223m 30sphoenix-core in the patch failed.
+1 💚asflicense0m 38sThe patch does not generate ASF License warnings.
270m 25s
ReasonTests
Failed junit testsphoenix.end2end.UpsertSelectIT
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/4/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#1194
Optional Testsdupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile
unameLinux b99d2c0d6d61 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev/phoenix-personality.sh
git revision4.x / b0772eb
Default JavaPrivate Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08
checkstylehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/4/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt
whitespacehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/4/artifact/yetus-general-check/output/whitespace-tabs.txt
unithttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/4/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt
Test Resultshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/4/testReport/
Max. process+thread count5126 (vs. ulimit of 30000)
modulesC: phoenix-core U: phoenix-core
Console outputhttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/4/console
versionsgit=2.7.4 maven=3.3.9 spotbugs=4.1.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


String timeZoneID = Calendar.getInstance().getTimeZone().getID();
// Write a query to get the val2 = 'bc' with a time range query
String query = "SELECT val1, val2, PHOENIX_ROW_TIMESTAMP() from " + dataTableName + " WHERE val1 = 'bc' AND " +

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind adding some /*+ NO_INDEX */ cases? (if they break disable them, but would be important to have)

@kadirozdekadirozdeApr 19, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I attempted to add a case with /*+ NO_INDEX */ but it failed. it seems PHOENIX_ROW_TIMESTAMP() does not work with MultiKeyValueComparisonFilter. Please note this is not related to the no index hint, it is a bug in general for data table with or without an index. I will file a bug on this.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah... I found in my tests that these fail as well. Maybe comment them with a jira number... Not important, though.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that my test for /*+ NO_INDEX / was wrong and that's why it failed. I/+ NO_INDEX */ worked for me.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!
I definitely found that SELECT COUNT(DISTINCT(phoenix_row_timestamp())) FROM T returns the wrong results. That is due to an incorrect plan being generated, though, not related to this. I filed a separate jira for that.

@Override
public Determinism getDeterminism() {
return Determinism.PER_ROW;
return Determinism.ALWAYS;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed? And is it correct? (The row timestamp is per row.)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a check in MetaDataClient#createIndex(), which does not allow non-deterministic expressions in index and considers that anything other than Determinism.ALWAYS is non-deterministic. This does not seem right. SQL Server agrees with me "Deterministic functions always return the same result any time they are called with a specific set of input values and given the same state of the database. Nondeterministic functions may return different results each time they are called with a specific set of input values even if the database state that they access remains the same. For example, the function AVG always returns the same result given the qualifications stated above, but the GETDATE function, which returns the current datetime value, always returns a different result." Maybe I need to change the create index code to allow PER_ROW determinism too. What do you say?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... Interesting. If you do a transaction (or query) over 1000 rows you would not expect that PHOENIX_ROW_TIMESTAMP() returning the same one value, so ALWAYS seems wrong.

Doing a git blame it looks like I, myself, added PER_INVOCATION with PHOENIX-1516, prior to that there was only ROW, STATEMENT, and ALWAYS.

I agree with you that indexes should be fine with PER_ROW and ALWAYS determinism.
PER_INVOCATION should be disallowed. Not 100% sure about PER_STATEMENT, seems that would cause problems. It is possible that some function are incorrectly labeled, though, we do not seems to follow that logic correctly.

if (!mutable) {
return;
}
if (!localIndex && useSnapshot) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this an unrelated change?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it is not related and I will remove it

@lhofhansl
lhofhansl self-requested a review April 17, 2021 01:28
@stoty

Copy link
Copy Markdown
Contributor

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec1m 13sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ 4.x Compile Tests _
+1 💚mvninstall15m 4s4.x passed
+1 💚compile1m 6s4.x passed
+1 💚checkstyle2m 25s4.x passed
+1 💚javadoc0m 48s4.x passed
+0 🆗spotbugs3m 13sphoenix-core in 4.x has 945 extant spotbugs warnings.
_ Patch Compile Tests _
+1 💚mvninstall6m 54sthe patch passed
+1 💚compile1m 6sthe patch passed
+1 💚javac1m 6sthe patch passed
-1 ❌checkstyle2m 28sphoenix-core: The patch generated 97 new + 7305 unchanged - 52 fixed = 7402 total (was 7357)
-1 ❌whitespace0m 0sThe patch 1 line(s) with tabs.
+1 💚javadoc0m 49sthe patch passed
+1 💚spotbugs3m 27sthe patch passed
_ Other Tests _
+1 💚unit198m 3sphoenix-core in the patch passed.
+1 💚asflicense0m 10sThe patch does not generate ASF License warnings.
237m 42s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/5/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#1194
Optional Testsdupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile
unameLinux 9198c2bf9589 4.15.0-136-generic #140-Ubuntu SMP Thu Jan 28 05:20:47 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev/phoenix-personality.sh
git revision4.x / b0772eb
Default JavaPrivate Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08
checkstylehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/5/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt
whitespacehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/5/artifact/yetus-general-check/output/whitespace-tabs.txt
Test Resultshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/5/testReport/
Max. process+thread count5492 (vs. ulimit of 30000)
modulesC: phoenix-core U: phoenix-core
Console outputhttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/5/console
versionsgit=2.7.4 maven=3.3.9 spotbugs=4.1.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

if (!encoded) {
optionBuilder.append(" COLUMN_ENCODED_BYTES=0");
indexOptionBuilder.append(" IMMUTABLE_STORAGE_SCHEME=SINGLE_CELL_ARRAY_WITH_OFFSETS, COLUMN_ENCODED_BYTES=2");
//indexOptionBuilder.append(" IMMUTABLE_STORAGE_SCHEME=SINGLE_CELL_ARRAY_WITH_OFFSETS, COLUMN_ENCODED_BYTES=2");

@lhofhansllhofhanslApr 21, 2021

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On purpose? Do you need this for the NO_INDEX parts of the tests to pass?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it was on purpose. I wanted to make sure that it works without the single cell format and forgot to remove it. I will remove it.

return null;
}
Cell cell = cellList.get(0);
return new KeyValue(cell.getRowArray(), cell.getRowOffset(), cell.getRowLength(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return org.apache.hadoop.hbase.KeyValueUtil.ensureKeyValue(cell)?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is deprecated. Should I use it?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's deprecated because we're trying to depeicate KeyValue, I think. Hmmm, perhaps better not to use it.

Do you need a KeyValue as output, or would a Cell work as well?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Casting Cell as KeyValue does not work in all cases. It triggers an HBase exception.

@lhofhansllhofhansl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.
Two nits: The commented part in the index test. And perhaps trying to use ensureKeyValue. (see inline comments)

@lhofhansl

Copy link
Copy Markdown
Contributor

Still +1

I applied the changes locally onto the 5.1 branch, and did a bunch of manual tests. Works as expected.

@stoty

Copy link
Copy Markdown
Contributor

💔 -1 overall

VoteSubsystemRuntimeComment
+0 🆗reexec0m 33sDocker mode activated.
_ Prechecks _
+1 💚dupname0m 0sNo case conflicting files found.
+1 💚hbaseanti0m 0sPatch does not have any anti-patterns.
+1 💚@author0m 0sThe patch does not contain any @author tags.
+1 💚test4tests0m 0sThe patch appears to include 1 new or modified test files.
_ 4.x Compile Tests _
+1 💚mvninstall14m 8s4.x passed
+1 💚compile1m 2s4.x passed
+1 💚checkstyle2m 50s4.x passed
+1 💚javadoc0m 51s4.x passed
+0 🆗spotbugs3m 13sphoenix-core in 4.x has 945 extant spotbugs warnings.
_ Patch Compile Tests _
+1 💚mvninstall5m 58sthe patch passed
+1 💚compile1m 5sthe patch passed
+1 💚javac1m 5sthe patch passed
-1 ❌checkstyle2m 58sphoenix-core: The patch generated 67 new + 7335 unchanged - 22 fixed = 7402 total (was 7357)
-1 ❌whitespace0m 0sThe patch 1 line(s) with tabs.
+1 💚javadoc0m 47sthe patch passed
+1 💚spotbugs3m 20sthe patch passed
_ Other Tests _
+1 💚unit137m 21sphoenix-core in the patch passed.
+1 💚asflicense0m 10sThe patch does not generate ASF License warnings.
175m 17s
SubsystemReport/Notes
DockerClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/6/artifact/yetus-general-check/output/Dockerfile
GITHUB PR#1194
Optional Testsdupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile
unameLinux 979b16f57d88 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Build toolmaven
Personalitydev/phoenix-personality.sh
git revision4.x / 049b9d8
Default JavaPrivate Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08
checkstylehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/6/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt
whitespacehttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/6/artifact/yetus-general-check/output/whitespace-tabs.txt
Test Resultshttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/6/testReport/
Max. process+thread count5900 (vs. ulimit of 30000)
modulesC: phoenix-core U: phoenix-core
Console outputhttps://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1194/6/console
versionsgit=2.7.4 maven=3.3.9 spotbugs=4.1.3
Powered byApache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@kadirozde@stoty@lhofhansl@abhishek-chouhan