You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by da...@apache.org on 2018/04/20 21:29:49 UTC

hive git commit: HIVE-19251: ObjectStore.getNextNotification with LIMIT should use less memory (Daniel Dai, reviewed by Thejas Nair, Vihang Karajgaonkar)

Repository: hive
Updated Branches:
  refs/heads/master 35d181100 -> a94f382a0


HIVE-19251: ObjectStore.getNextNotification with LIMIT should use less memory (Daniel Dai, reviewed by Thejas Nair, Vihang Karajgaonkar)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/a94f382a
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/a94f382a
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/a94f382a

Branch: refs/heads/master
Commit: a94f382a0f55e72a4ab0bbeabe7bf7bbac5b384d
Parents: 35d1811
Author: Daniel Dai <da...@gmail.com>
Authored: Fri Apr 20 14:29:35 2018 -0700
Committer: Daniel Dai <da...@gmail.com>
Committed: Fri Apr 20 14:29:35 2018 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hive/metastore/ObjectStore.java     | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/a94f382a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
index a7acdcb..d020d8e 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
@@ -9094,18 +9094,18 @@ public class ObjectStore implements RawStore, Configurable {
     try {
       openTransaction();
       long lastEvent = rqst.getLastEvent();
+      int maxEvents = rqst.getMaxEvents() > 0 ? rqst.getMaxEvents() : Integer.MAX_VALUE;
       query = pm.newQuery(MNotificationLog.class, "eventId > lastEvent");
       query.declareParameters("java.lang.Long lastEvent");
       query.setOrdering("eventId ascending");
+      query.setRange(0, maxEvents);
       Collection<MNotificationLog> events = (Collection) query.execute(lastEvent);
       commited = commitTransaction();
       if (events == null) {
         return result;
       }
       Iterator<MNotificationLog> i = events.iterator();
-      int maxEvents = rqst.getMaxEvents() > 0 ? rqst.getMaxEvents() : Integer.MAX_VALUE;
-      int numEvents = 0;
-      while (i.hasNext() && numEvents++ < maxEvents) {
+      while (i.hasNext()) {
         result.addToEvents(translateDbToThrift(i.next()));
       }
       return result;