diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDefaultTransformer.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDefaultTransformer.java index 7ecbef8223..4b543c8da9 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDefaultTransformer.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDefaultTransformer.java @@ -20,7 +20,6 @@ import static org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.ACCESSTYPE_NONE; import static org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.ACCESSTYPE_READONLY; import static org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.ACCESSTYPE_READWRITE; -import static org.apache.hadoop.hive.metastore.api.hive_metastoreConstants.ACCESSTYPE_WRITEONLY; import org.apache.hadoop.hive.metastore.api.MetaException; import org.apache.hadoop.hive.metastore.api.Partition; @@ -62,25 +61,25 @@ HIVECACHEINVALIDATE, CONNECTORWRITE)); - private static List ACIDWRITELIST = new ArrayList<>(Arrays.asList(HIVEFULLACIDWRITE)); - private static List INSERTONLYWRITELIST = new ArrayList<>(Arrays.asList(HIVEMANAGEDINSERTWRITE)); + private List acidWriteList = new ArrayList<>(Arrays.asList(HIVEFULLACIDWRITE)); + private List insertOnlyWriteList = new ArrayList<>(Arrays.asList(HIVEMANAGEDINSERTWRITE)); private static List MQTLIST = new ArrayList<>(Arrays.asList(HIVEFULLACIDREAD, HIVEONLYMQTWRITE, HIVEMANAGESTATS, HIVEMQT, CONNECTORREAD)); - private static List ACIDLIST = new ArrayList<>(); - private static List INSERTONLYLIST = new ArrayList<>(); + private List acidList = new ArrayList<>(); + private List insertOnlyList = new ArrayList<>(); public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException { this.hmsHandler = handler; - ACIDWRITELIST.addAll(ACIDCOMMONWRITELIST); - ACIDLIST.addAll(ACIDWRITELIST); - ACIDLIST.add(HIVEFULLACIDREAD); - ACIDLIST.add(CONNECTORREAD); + acidWriteList.addAll(ACIDCOMMONWRITELIST); + acidList.addAll(acidWriteList); + acidList.add(HIVEFULLACIDREAD); + acidList.add(CONNECTORREAD); - INSERTONLYWRITELIST.addAll(ACIDCOMMONWRITELIST); - INSERTONLYLIST.addAll(INSERTONLYWRITELIST); - INSERTONLYLIST.add(HIVEMANAGEDINSERTREAD); - INSERTONLYLIST.add(CONNECTORREAD); + insertOnlyWriteList.addAll(ACIDCOMMONWRITELIST); + insertOnlyList.addAll(insertOnlyWriteList); + insertOnlyList.add(HIVEMANAGEDINSERTREAD); + insertOnlyList.add(CONNECTORREAD); } @Override @@ -129,7 +128,7 @@ public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException String txnal = params.get("transactional"); if (txnal == null || txnal.equalsIgnoreCase("FALSE")) { // non-ACID MANAGED table table.setAccessType(ACCESSTYPE_READONLY); - generated.addAll(ACIDWRITELIST); + generated.addAll(acidWriteList); } if (txnal != null && txnal.equalsIgnoreCase("TRUE")) { // ACID table @@ -137,7 +136,7 @@ public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException processorCapabilities.contains(HIVEFULLACIDREAD) || processorCapabilities.contains(HIVEMANAGEDINSERTREAD))) { table.setAccessType(ACCESSTYPE_NONE); // clients have no access to ACID tables without capabilities - generated.addAll(ACIDLIST); + generated.addAll(acidList); } String txntype = params.get("transactional_properties"); @@ -145,30 +144,30 @@ public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException // MGD table is insert only, not full ACID if (processorCapabilities.contains(HIVEMANAGEDINSERTWRITE) || processorCapabilities.contains(CONNECTORWRITE)) { table.setAccessType(ACCESSTYPE_READWRITE); // clients have RW access to INSERT-ONLY ACID tables - processorCapabilities.retainAll(INSERTONLYWRITELIST); + processorCapabilities.retainAll(insertOnlyWriteList); generated.addAll(processorCapabilities); } else if (processorCapabilities.contains(HIVEMANAGEDINSERTREAD) || processorCapabilities.contains(CONNECTORREAD)) { table.setAccessType(ACCESSTYPE_READONLY); // clients have RO access to INSERT-ONLY ACID tables - generated.addAll(INSERTONLYWRITELIST); - processorCapabilities.retainAll(getReads(INSERTONLYLIST)); + generated.addAll(insertOnlyWriteList); + processorCapabilities.retainAll(getReads(insertOnlyList)); generated.addAll(processorCapabilities); } else { table.setAccessType(ACCESSTYPE_NONE); // clients have NO access to INSERT-ONLY ACID tables - generated.addAll(INSERTONLYLIST); + generated.addAll(insertOnlyList); } } else { // FULL ACID MANAGED TABLE if (processorCapabilities.contains(HIVEFULLACIDWRITE) || processorCapabilities.contains(CONNECTORWRITE)) { table.setAccessType(ACCESSTYPE_READWRITE); // clients have RW access to IUD ACID tables - processorCapabilities.retainAll(ACIDWRITELIST); + processorCapabilities.retainAll(acidWriteList); generated.addAll(processorCapabilities); } else if (processorCapabilities.contains(HIVEFULLACIDREAD) || processorCapabilities.contains(CONNECTORREAD)) { table.setAccessType(ACCESSTYPE_READONLY); // clients have RO access to IUD ACID tables - generated.addAll(ACIDWRITELIST); - processorCapabilities.retainAll(getReads(ACIDLIST)); + generated.addAll(acidWriteList); + processorCapabilities.retainAll(getReads(acidList)); generated.addAll(processorCapabilities); } else { table.setAccessType(ACCESSTYPE_NONE); // clients have NO access to IUD ACID tables - generated.addAll(ACIDLIST); + generated.addAll(acidList); } } } @@ -473,7 +472,7 @@ public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException } // returns the elements contained in list1 but missing in list2 - private static List diff(final List list1, final List list2) { + private List diff(final List list1, final List list2) { List diffList = new ArrayList<>(); if (list2 == null || list2.size() == 0) @@ -503,7 +502,7 @@ public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException } } - private static List getWrites(List capabilities) { + private List getWrites(List capabilities) { List writes = new ArrayList<>(); for (String capability : capabilities) { if (capability.toUpperCase().endsWith("WRITE") || @@ -515,7 +514,7 @@ public MetastoreDefaultTransformer(IHMSHandler handler) throws HiveMetaException return writes; } - private static List getReads(List capabilities) { + private List getReads(List capabilities) { List reads = new ArrayList<>(); for (String capability : capabilities) { if (capability.toUpperCase().endsWith("READ") ||