You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Vihang Karajgaonkar (Code Review)" <ge...@cloudera.org> on 2019/03/01 02:32:34 UTC

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Vihang Karajgaonkar has uploaded this change for review. ( http://gerrit.cloudera.org:8080/12641


Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................

IMPALA-8266 : Event filtering logic may not filter all the events

This patch fixes a bug in event filtering logic. The bug shows up when
atleast one event is filtered out and then a inverse event immediately
shows up after a create_table or create_database event. For example,
consider a event stream has following sequence create_database, create_table,
drop_table, drop_database. In such a case only the first create_database
gets filtered out instead of both the create_database and create_table
event. This leads to a exception while processing create_table since the
database creation is skipped.

Testing done:
1. Adds additional cases in the existing test which generates such
sequence of events.

Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
---
M fe/src/main/java/org/apache/impala/catalog/events/MetastoreEvents.java
M fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java
2 files changed, 65 insertions(+), 26 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/41/12641/1
-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 1
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 2:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/2324/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 2
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Comment-Date: Sat, 02 Mar 2019 03:21:29 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 3: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 3
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Comment-Date: Tue, 05 Mar 2019 05:35:37 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Paul Rogers (Code Review)" <ge...@cloudera.org>.
Paul Rogers has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 2: Code-Review+2

LGTM


-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 2
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Comment-Date: Tue, 05 Mar 2019 01:22:11 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 1:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/2314/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 1
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Comment-Date: Fri, 01 Mar 2019 03:02:41 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Vihang Karajgaonkar (Code Review)" <ge...@cloudera.org>.
Vihang Karajgaonkar has uploaded a new patch set (#2). ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................

IMPALA-8266 : Event filtering logic may not filter all the events

This patch fixes a bug in event filtering logic. The bug shows up when
atleast one event is filtered out and then a inverse event immediately
shows up after a create_table or create_database event. For example,
consider a event stream has following sequence create_database, create_table,
drop_table, drop_database. In such a case only the first create_database
gets filtered out instead of both the create_database and create_table
event. This leads to a exception while processing create_table since the
database creation is skipped.

Testing done:
1. Adds additional cases in the existing test which generates such
sequence of events.

Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
---
M fe/src/main/java/org/apache/impala/catalog/events/MetastoreEvents.java
M fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java
2 files changed, 73 insertions(+), 35 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/41/12641/2
-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 2
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................

IMPALA-8266 : Event filtering logic may not filter all the events

This patch fixes a bug in event filtering logic. The bug shows up when
atleast one event is filtered out and then a inverse event immediately
shows up after a create_table or create_database event. For example,
consider a event stream has following sequence create_database, create_table,
drop_table, drop_database. In such a case only the first create_database
gets filtered out instead of both the create_database and create_table
event. This leads to a exception while processing create_table since the
database creation is skipped.

Testing done:
1. Adds additional cases in the existing test which generates such
sequence of events.

Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Reviewed-on: http://gerrit.cloudera.org:8080/12641
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
M fe/src/main/java/org/apache/impala/catalog/events/MetastoreEvents.java
M fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java
2 files changed, 73 insertions(+), 35 deletions(-)

Approvals:
  Impala Public Jenkins: Looks good to me, approved; Verified

-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 4
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Paul Rogers (Code Review)" <ge...@cloudera.org>.
Paul Rogers has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/main/java/org/apache/impala/catalog/events/MetastoreEvents.java
File fe/src/main/java/org/apache/impala/catalog/events/MetastoreEvents.java:

http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/main/java/org/apache/impala/catalog/events/MetastoreEvents.java@189
PS1, Line 189:           fromIndex++;
Really awkward and error prone. Do we need to remove items from the list? Can we just do:

for (MetastoreEvent : metastoreEvents) {
  if (whatever) {
    process
  }
}

If this loop consumes all events, no need to return the list. The GC will get rid of it.

Or, if we want to remove some items:

int i = 0;
while (I < metastoreEvents.size()) {
  MetastoreEvent event = metastoreEvents.get();
  if (consumed) metastoreEvents.remove(i);
  else I++;
}



-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 1
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Comment-Date: Fri, 01 Mar 2019 03:24:05 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 1:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java
File fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java:

http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java@20
PS1, Line 20: import static org.apache.impala.catalog.events.MetastoreEvents.MetastoreEventType.ALTER_TABLE;
line too long (94 > 90)


http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java@21
PS1, Line 21: import static org.apache.impala.catalog.events.MetastoreEvents.MetastoreEventType.CREATE_DATABASE;
line too long (98 > 90)


http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java@22
PS1, Line 22: import static org.apache.impala.catalog.events.MetastoreEvents.MetastoreEventType.CREATE_TABLE;
line too long (95 > 90)


http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java@23
PS1, Line 23: import static org.apache.impala.catalog.events.MetastoreEvents.MetastoreEventType.DROP_DATABASE;
line too long (96 > 90)


http://gerrit.cloudera.org:8080/#/c/12641/1/fe/src/test/java/org/apache/impala/catalog/events/MetastoreEventsProcessorTest.java@24
PS1, Line 24: import static org.apache.impala.catalog.events.MetastoreEvents.MetastoreEventType.DROP_TABLE;
line too long (93 > 90)



-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 1
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Comment-Date: Fri, 01 Mar 2019 02:33:24 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 3:

Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/3872/ DRY_RUN=false


-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 3
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Comment-Date: Tue, 05 Mar 2019 01:22:48 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-8266 : Event filtering logic may not filter all the events

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/12641 )

Change subject: IMPALA-8266 : Event filtering logic may not filter all the events
......................................................................


Patch Set 3: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/12641
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iaeaa26017ee223cca18344e5e1d6ace87200fd9c
Gerrit-Change-Number: 12641
Gerrit-PatchSet: 3
Gerrit-Owner: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bh...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <pr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vi...@cloudera.com>
Gerrit-Comment-Date: Tue, 05 Mar 2019 01:22:47 +0000
Gerrit-HasComments: No