Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Steven Jacobs has submitted this change and it was merged. Change subject: Enable Feed Changes to work with BAD project .. Enable Feed Changes to work with BAD project Extracts the ActiveListener Enables listeners to survive after job executions Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Reviewed-on: https://asterix-gerrit.ics.uci.edu/1524 Sonar-Qube: JenkinsTested-by: Jenkins Integration-Tests: Jenkins Reviewed-by: abdullah alamoudi --- M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java 3 files changed, 68 insertions(+), 26 deletions(-) Approvals: abdullah alamoudi: Looks good to me, approved Jenkins: Verified; No violations found; Verified Objections: Jenkins: Violations found diff --git a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java index e4491bd..d7998f8 100644 --- a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java +++ b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java @@ -55,14 +55,15 @@ if (entityId != null) { IActiveEntityEventsListener listener = entityEventListeners.get(entityId); LOGGER.log(Level.FINER, "Next event is of type " + event.getEventKind()); -LOGGER.log(Level.FINER, "Notifying the listener"); -listener.notify(event); if (event.getEventKind() == Kind.JOB_FINISHED) { LOGGER.log(Level.FINER, "Removing the job"); jobId2ActiveJobInfos.remove(event.getJobId()); -LOGGER.log(Level.FINER, "Removing the listener since it is not active anymore"); -entityEventListeners.remove(listener.getEntityId()); } +if (listener != null) { +LOGGER.log(Level.FINER, "Notifying the listener"); +listener.notify(event); +} + } else { LOGGER.log(Level.SEVERE, "Entity not found for received message for job " + event.getJobId()); } @@ -75,6 +76,11 @@ LOGGER.log(Level.INFO, "Stopped " + ActiveJobNotificationHandler.class.getSimpleName()); } +public synchronized void removeListener(IActiveEntityEventsListener listener) throws HyracksDataException { +LOGGER.log(Level.FINER, "Removing the listener since it is not active anymore"); +unregisterListener(listener); +} + public IActiveEntityEventsListener getActiveEntityListener(EntityId entityId) { if (DEBUG) { LOGGER.log(Level.WARNING, "getActiveEntityListener(EntityId entityId) was called with entity " + entityId); diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java new file mode 100644 index 000..365c3ce --- /dev/null +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.asterix.external.feed.management; + +import java.util.List; + +import org.apache.asterix.active.ActivityState; +import org.apache.asterix.active.EntityId; +import org.apache.asterix.active.IActiveEntityEventsListener; +import
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
abdullah alamoudi has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1995/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1995/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Integration-Tests-1 Integration Tests Timed Out https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1986/ : ABORTED -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: BAD-1 BAD Compatibility Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/621/ : FAILURE -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/621/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1986/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4420/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
abdullah alamoudi has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 3: Looks good to me. will +2 after tests pass -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/1524 to look at the new patch set (#3). Change subject: Enable Feed Changes to work with BAD project .. Enable Feed Changes to work with BAD project Extracts the ActiveListener Enables listeners to survive after job executions Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 --- M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java 3 files changed, 68 insertions(+), 26 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/24/1524/3 -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 3 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Steven Jacobs has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: (1 comment) https://asterix-gerrit.ics.uci.edu/#/c/1524/2/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java File asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java: PS2, Line 47: boolean isRepeatable(); > Who call this now? Good point. After your suggestions, this is no longer needed. It's taken out in the new patchset. -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
abdullah alamoudi has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: (1 comment) https://asterix-gerrit.ics.uci.edu/#/c/1524/2/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java File asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java: PS2, Line 47: boolean isRepeatable(); Who call this now? Seems like no one calls it in asterixdb and doesn't seem to fit here. Can we remove it? why not? -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: Integration-Tests-1 Integration Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1982/ : UNSTABLE -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: BAD-1 BAD Compatibility Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/617/ : FAILURE -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/617/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1982/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4411/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: Integration-Tests-1 Integration Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1978/ : UNSTABLE -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Steven Jacobs has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: (3 comments) I reorganized things to meet the suggestions. Take a look at the new patchset. https://asterix-gerrit.ics.uci.edu/#/c/1524/1/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java File asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java: PS1, Line 56: er listener = e > what if there was no listener. this will cause a null pointer exception Done PS1, Line 60: if (event.getEventKind() == Kind.JOB_FINISHED && !listener.isRepeatable() > Let's remove the block completely and the listener can remove itself when n Done PS1, Line 75: removeJob > maybe rename to remove job and listener? Done -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
abdullah alamoudi has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: (3 comments) Let's think of the case where there are no listeners, Should the job be removed? What if it is a repeatable job? can the job be registered another time? The only reason we register that job through the job lifecycle listener is that we don't have the job Id yet when we have the active entity and listener https://asterix-gerrit.ics.uci.edu/#/c/1524/1/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java File asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java: PS1, Line 56: er listener = e what if there was no listener. this will cause a null pointer exception PS1, Line 60: if (event.getEventKind() == Kind.JOB_FINISHED && !listener.isRepeatable() Let's remove the block completely and the listener can remove itself when notified PS1, Line 75: removeJob maybe rename to remove job and listener? make synchronized and then call unregisterListener from inside the method. also make the two maps concurrent: this.jobId2ActiveJobInfos = new HashMap<>(); this.entityEventListeners = new HashMap<>() Can you also create a JIRA issue to create unit tests for this class? seems too important to get right and doesn't have unit tests that cover corner cases -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: Yes
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: BAD-1 BAD Compatibility Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/613/ : FAILURE -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Steven Jacobs has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: > This change looks good to me. One general comment about this > change. It seems the repeatable flag is not used on the AsterixDB > (probably only for now). I guess that serves the BAD side only? Yes, basically the idea is as follows: There can be active entities that don't want their listeners to be automatically deleted just because the job is over (e.g. because they want to run another time). Channels and Procedures both fit into this category -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Steven Jacobs Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Xikui Wang has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: This change looks good to me. One general comment about this change. It seems the repeatable flag is not used on the AsterixDB (probably only for now). I guess that serves the BAD side only? -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1978/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Jenkins has posted comments on this change. Change subject: Enable Feed Changes to work with BAD project .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4401/ -- To view, visit https://asterix-gerrit.ics.uci.edu/1524 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Steven JacobsGerrit-Reviewer: Jenkins Gerrit-Reviewer: Xikui Wang Gerrit-Reviewer: abdullah alamoudi Gerrit-HasComments: No
Change in asterixdb[master]: Enable Feed Changes to work with BAD project
Steven Jacobs has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/1524 Change subject: Enable Feed Changes to work with BAD project .. Enable Feed Changes to work with BAD project Extracts the ActiveListener Enables listeners to survive after job executions Change-Id: Ib62184b67aff564475ef9b58790ff96409195b77 --- M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java M asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/FeedEventsListener.java 4 files changed, 78 insertions(+), 27 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/24/1524/1 diff --git a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java index e4491bd..eba0fee 100644 --- a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java +++ b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/ActiveJobNotificationHandler.java @@ -57,11 +57,8 @@ LOGGER.log(Level.FINER, "Next event is of type " + event.getEventKind()); LOGGER.log(Level.FINER, "Notifying the listener"); listener.notify(event); -if (event.getEventKind() == Kind.JOB_FINISHED) { -LOGGER.log(Level.FINER, "Removing the job"); -jobId2ActiveJobInfos.remove(event.getJobId()); -LOGGER.log(Level.FINER, "Removing the listener since it is not active anymore"); -entityEventListeners.remove(listener.getEntityId()); +if (event.getEventKind() == Kind.JOB_FINISHED && !listener.isRepeatable()) { +removeJob(event.getJobId(), listener); } } else { LOGGER.log(Level.SEVERE, "Entity not found for received message for job " + event.getJobId()); @@ -75,6 +72,13 @@ LOGGER.log(Level.INFO, "Stopped " + ActiveJobNotificationHandler.class.getSimpleName()); } +public void removeJob(JobId hyracksJobId, IActiveEntityEventsListener listener) { +LOGGER.log(Level.FINER, "Removing the job"); +jobId2ActiveJobInfos.remove(hyracksJobId); +LOGGER.log(Level.FINER, "Removing the listener since it is not active anymore"); +entityEventListeners.remove(listener.getEntityId()); +} + public IActiveEntityEventsListener getActiveEntityListener(EntityId entityId) { if (DEBUG) { LOGGER.log(Level.WARNING, "getActiveEntityListener(EntityId entityId) was called with entity " + entityId); diff --git a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java index ee8e776..7f3554a 100644 --- a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java +++ b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveEntityEventsListener.java @@ -41,6 +41,12 @@ ActivityState getState(); /** + * @return whether the listener is for a repeatable job + * Repeatable jobs won't delete listeners after job is finished + */ +boolean isRepeatable(); + +/** * get a subscriber that waits till state has been reached. * * @param state diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java new file mode 100644 index 000..9472ea7 --- /dev/null +++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/feed/management/ActiveEntityEventsListener.java @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + *