You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sa...@apache.org on 2018/07/03 04:39:20 UTC
hive git commit: HIVE-17840: HiveMetaStore eats exception if
transactionalListeners.notifyEvent fail (Sankar Hariappan,
reviewed by Mahesh Kumar Behera, Daniel Dai)
Repository: hive
Updated Branches:
refs/heads/master 1fc122153 -> f01269123
HIVE-17840: HiveMetaStore eats exception if transactionalListeners.notifyEvent fail (Sankar Hariappan, reviewed by Mahesh Kumar Behera, Daniel Dai)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f0126912
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f0126912
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f0126912
Branch: refs/heads/master
Commit: f01269123652d977e93dba656a847f800eeb2c61
Parents: 1fc1221
Author: Sankar Hariappan <sa...@apache.org>
Authored: Tue Jul 3 10:08:57 2018 +0530
Committer: Sankar Hariappan <sa...@apache.org>
Committed: Tue Jul 3 10:08:57 2018 +0530
----------------------------------------------------------------------
.../hive/hcatalog/listener/DummyRawStoreFailEvent.java | 2 +-
.../java/org/apache/hadoop/hive/metastore/ObjectStore.java | 7 ++++---
.../main/java/org/apache/hadoop/hive/metastore/RawStore.java | 3 ++-
.../org/apache/hadoop/hive/metastore/cache/CachedStore.java | 2 +-
.../hadoop/hive/metastore/DummyRawStoreControlledCommit.java | 2 +-
.../hadoop/hive/metastore/DummyRawStoreForJdoConnection.java | 2 +-
.../org/apache/hadoop/hive/metastore/TestObjectStore.java | 8 ++++----
7 files changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
----------------------------------------------------------------------
diff --git a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
index 3c334fa..abf67a8 100644
--- a/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
+++ b/itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java
@@ -866,7 +866,7 @@ public class DummyRawStoreFailEvent implements RawStore, Configurable {
}
@Override
- public void addNotificationEvent(NotificationEvent event) {
+ public void addNotificationEvent(NotificationEvent event) throws MetaException {
objectStore.addNotificationEvent(event);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/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 0d2da7a..7490243 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
@@ -9697,7 +9697,7 @@ public class ObjectStore implements RawStore, Configurable {
}
@Override
- public void addNotificationEvent(NotificationEvent entry) {
+ public void addNotificationEvent(NotificationEvent entry) throws MetaException {
boolean commited = false;
Query query = null;
try {
@@ -9721,8 +9721,9 @@ public class ObjectStore implements RawStore, Configurable {
}
pm.makePersistent(translateThriftToDb(entry));
commited = commitTransaction();
- } catch (Exception e) {
- LOG.error("couldnot get lock for update", e);
+ } catch (MetaException e) {
+ LOG.error("Couldn't get lock for update", e);
+ throw e;
} finally {
rollbackAndCleanup(commited, query);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
index c8905c8..d019941 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java
@@ -1195,8 +1195,9 @@ public interface RawStore extends Configurable {
/**
* Add a notification entry. This should only be called from inside the metastore
* @param event the notification to add
+ * @throws MetaException error accessing RDBMS
*/
- void addNotificationEvent(NotificationEvent event);
+ void addNotificationEvent(NotificationEvent event) throws MetaException;
/**
* Remove older notification events.
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
index 1da9798..a526019 100644
--- a/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
+++ b/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java
@@ -2026,7 +2026,7 @@ public class CachedStore implements RawStore, Configurable {
}
@Override
- public void addNotificationEvent(NotificationEvent event) {
+ public void addNotificationEvent(NotificationEvent event) throws MetaException {
rawStore.addNotificationEvent(event);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
index 8e195d0..c482d28 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java
@@ -818,7 +818,7 @@ public class DummyRawStoreControlledCommit implements RawStore, Configurable {
}
@Override
- public void addNotificationEvent(NotificationEvent event) {
+ public void addNotificationEvent(NotificationEvent event) throws MetaException {
objectStore.addNotificationEvent(event);
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
index 85eb6d5..d253005 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java
@@ -823,7 +823,7 @@ public class DummyRawStoreForJdoConnection implements RawStore {
}
@Override
- public void addNotificationEvent(NotificationEvent event) {
+ public void addNotificationEvent(NotificationEvent event) throws MetaException {
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f0126912/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
----------------------------------------------------------------------
diff --git a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
index 5d5bc76..833e2bd 100644
--- a/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
+++ b/standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/TestObjectStore.java
@@ -765,7 +765,7 @@ public class TestObjectStore {
*/
// TODO MS-SPLIT uncomment once we move EventMessage over
@Test
- public void testNotificationOps() throws InterruptedException {
+ public void testNotificationOps() throws InterruptedException, MetaException {
final int NO_EVENT_ID = 0;
final int FIRST_EVENT_ID = 1;
final int SECOND_EVENT_ID = 2;
@@ -817,7 +817,7 @@ public class TestObjectStore {
+ " https://db.apache.org/derby/docs/10.10/devguide/cdevconcepts842385.html"
)
@Test
- public void testConcurrentAddNotifications() throws ExecutionException, InterruptedException {
+ public void testConcurrentAddNotifications() throws ExecutionException, InterruptedException, MetaException {
final int NUM_THREADS = 10;
CyclicBarrier cyclicBarrier = new CyclicBarrier(NUM_THREADS,
@@ -866,10 +866,10 @@ public class TestObjectStore {
try {
cyclicBarrier.await();
- } catch (InterruptedException | BrokenBarrierException e) {
+ store.addNotificationEvent(dbEvent);
+ } catch (InterruptedException | BrokenBarrierException | MetaException e) {
throw new RuntimeException(e);
}
- store.addNotificationEvent(dbEvent);
System.out.println("FINISH NOTIFICATION");
});
}