From 54c7ef03eb1f5b6d42c9bd080e521c89ef182551 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 17 Jan 2024 18:06:59 +0530 Subject: [PATCH 01/62] jdk-17 compile time --- .github/workflows/build.yml | 6 +- Jenkinsfile | 6 +- common/pom.xml | 29 +++ .../hadoop/hive/ant/GenHiveTemplate.java | 32 +-- .../hadoop/hive/common/CompressionUtils.java | 24 +- .../apache/hadoop/hive/common/FileUtils.java | 12 +- .../hadoop/hive/common/HeapMemoryMonitor.java | 6 +- .../apache/hadoop/hive/common/JavaUtils.java | 8 +- .../apache/hadoop/hive/common/LogUtils.java | 16 +- .../datetime/HiveSqlDateTimeFormatter.java | 18 +- .../hadoop/hive/common/jsonexplain/Stage.java | 6 +- .../hive/common/jsonexplain/Vertex.java | 12 +- .../hadoop/hive/common/log/InPlaceUpdate.java | 16 +- .../apache/hadoop/hive/common/type/Date.java | 4 +- .../common/type/HiveIntervalYearMonth.java | 2 +- .../hadoop/hive/common/type/HiveVarchar.java | 4 +- .../hadoop/hive/common/type/SignedInt128.java | 3 +- .../hadoop/hive/common/type/Timestamp.java | 4 +- .../hadoop/hive/common/type/TimestampTZ.java | 4 +- .../apache/hadoop/hive/conf/Validator.java | 6 +- .../JavaIOTmpdirVariableCoercion.java | 2 +- .../apache/hive/common/util/CleanerUtil.java | 4 +- .../apache/hive/common/util/DateUtils.java | 2 +- .../hive/common/util/HiveStringUtils.java | 2 +- .../hive/common/util/ReflectionUtil.java | 10 +- .../hive/common/util/RetryUtilities.java | 16 +- .../java/org/apache/hive/http/HttpServer.java | 14 +- .../org/apache/hive/http/JMXJsonServlet.java | 12 +- .../hadoop/hive/common/TestTezJsonParser.java | 246 +++++++++--------- .../hive/common/jsonexplain/TestOp.java | 13 +- .../hive/common/jsonexplain/TestStage.java | 30 ++- .../hive/common/jsonexplain/TestVertex.java | 14 +- .../jsonexplain/tez/TestTezJsonParser.java | 6 +- .../apache/hadoop/hive/conf/TestHiveConf.java | 20 +- .../hive/conf/TestHiveConfVarsValidate.java | 6 +- .../hadoop/hive/conf/TestSystemVariables.java | 2 +- hcatalog/webhcat/svr/pom.xml | 103 ++++---- packaging/pom.xml | 1 + pom.xml | 4 +- standalone-metastore/metastore-server/pom.xml | 20 +- .../hive/metastore/DirectSqlInsertPart.java | 3 +- .../hive/metastore/DirectSqlUpdatePart.java | 2 +- .../metastore-benchmarks/pom.xml | 27 -- .../metastore-tools/tools-common/pom.xml | 23 -- standalone-metastore/pom.xml | 5 +- storage-api/pom.xml | 4 +- 46 files changed, 425 insertions(+), 384 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89a89310bb89..372c27902d69 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,14 +29,14 @@ env: jobs: macos-jdk8: - name: 'macOS (JDK 8)' + name: 'macOS (JDK 17)' runs-on: macos-latest steps: - uses: actions/checkout@v2 - - name: 'Set up JDK 8' + - name: 'Set up JDK 17' uses: actions/setup-java@v1 with: - java-version: 8 + java-version: 17 - name: 'Build project' run: | mvn clean install -DskipTests -Pitests diff --git a/Jenkinsfile b/Jenkinsfile index 50250d739b3c..5c83002b0730 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -91,11 +91,11 @@ def buildHive(args) { set -x . /etc/profile.d/confs.sh export USER="`whoami`" -export MAVEN_OPTS="-Xmx2g" +export MAVEN_OPTS="-Xmx4G" export -n HIVE_CONF_DIR cp $SETTINGS .git/settings.xml OPTS=" -s $PWD/.git/settings.xml -B -Dtest.groups= " -OPTS+=" -Pitests,qsplits,dist,errorProne,iceberg" +OPTS+=" -Pitests,qsplits,dist,iceberg" OPTS+=" -Dorg.slf4j.simpleLogger.log.org.apache.maven.plugin.surefire.SurefirePlugin=INFO" OPTS+=" -Dmaven.repo.local=$PWD/.git/m2" git config extra.mavenOpts "$OPTS" @@ -290,6 +290,7 @@ fi stage('init-metastore') { withEnv(["dbType=$dbType"]) { sh '''#!/bin/bash -e + sw java 17 && . /etc/profile.d/java.sh set -x echo 127.0.0.1 dev_$dbType | sudo tee -a /etc/hosts . /etc/profile.d/confs.sh @@ -398,6 +399,7 @@ tar -xzf packaging/target/apache-hive-*-nightly-*-src.tar.gz } stage('Generate javadoc') { sh """#!/bin/bash -e + sw java 17 && . /etc/profile.d/java.sh mvn install javadoc:javadoc javadoc:aggregate -DskipTests -pl '!itests/hive-jmh,!itests/util' """ } diff --git a/common/pom.xml b/common/pom.xml index bbe2fa9cd33f..85be88c1aef2 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -34,6 +34,11 @@ hive-classification ${project.version} + + org.apache.avro + avro + ${avro.version} + org.apache.hive hive-shims @@ -69,6 +74,12 @@ org.apache.orc orc-core + + + org.apache.hadoop + hadoop-client-api + + jline @@ -381,6 +392,16 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + + --add-opens + org.apache.hadoop/org.apache.hadoop.fs=ALL-UNNAMED + + + org.apache.maven.plugins maven-antrun-plugin @@ -439,6 +460,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 17 + 17 + + diff --git a/common/src/java/org/apache/hadoop/hive/ant/GenHiveTemplate.java b/common/src/java/org/apache/hadoop/hive/ant/GenHiveTemplate.java index ff9ad6058358..c751fa5120f7 100644 --- a/common/src/java/org/apache/hadoop/hive/ant/GenHiveTemplate.java +++ b/common/src/java/org/apache/hadoop/hive/ant/GenHiveTemplate.java @@ -73,21 +73,23 @@ private Document generateTemplate() throws Exception { doc.appendChild(doc.createProcessingInstruction( "xml-stylesheet", "type=\"text/xsl\" href=\"configuration.xsl\"")); - doc.appendChild(doc.createComment("\n" + - " Licensed to the Apache Software Foundation (ASF) under one or more\n" + - " contributor license agreements. See the NOTICE file distributed with\n" + - " this work for additional information regarding copyright ownership.\n" + - " The ASF licenses this file to You under the Apache License, Version 2.0\n" + - " (the \"License\"); you may not use this file except in compliance with\n" + - " the License. You may obtain a copy of the License at\n" + - "\n" + - " http://www.apache.org/licenses/LICENSE-2.0\n" + - "\n" + - " Unless required by applicable law or agreed to in writing, software\n" + - " distributed under the License is distributed on an \"AS IS\" BASIS,\n" + - " WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" + - " See the License for the specific language governing permissions and\n" + - " limitations under the License.\n")); + doc.appendChild(doc.createComment(""" + + 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. + """)); Element root = doc.createElement("configuration"); doc.appendChild(root); diff --git a/common/src/java/org/apache/hadoop/hive/common/CompressionUtils.java b/common/src/java/org/apache/hadoop/hive/common/CompressionUtils.java index c5c050bdcc01..6d84107b9028 100644 --- a/common/src/java/org/apache/hadoop/hive/common/CompressionUtils.java +++ b/common/src/java/org/apache/hadoop/hive/common/CompressionUtils.java @@ -169,30 +169,30 @@ public static List unTar(final String inputFileName, final String outputDi // no sub-directories continue; } - LOG.debug(String.format("Attempting to write output directory %s.", - outputFile.getAbsolutePath())); + LOG.debug("Attempting to write output directory %s.".formatted( + outputFile.getAbsolutePath())); if (!outputFile.exists()) { - LOG.debug(String.format("Attempting to create output directory %s.", - outputFile.getAbsolutePath())); + LOG.debug("Attempting to create output directory %s.".formatted( + outputFile.getAbsolutePath())); if (!outputFile.mkdirs()) { - throw new IllegalStateException(String.format("Couldn't create directory %s.", - outputFile.getAbsolutePath())); + throw new IllegalStateException("Couldn't create directory %s.".formatted( + outputFile.getAbsolutePath())); } } } else { final OutputStream outputFileStream; if (flatten) { File flatOutputFile = new File(outputDir, outputFile.getName()); - LOG.debug(String.format("Creating flat output file %s.", flatOutputFile.getAbsolutePath())); + LOG.debug("Creating flat output file %s.".formatted(flatOutputFile.getAbsolutePath())); outputFileStream = new FileOutputStream(flatOutputFile); } else if (!outputFile.getParentFile().exists()) { - LOG.debug(String.format("Attempting to create output directory %s.", - outputFile.getParentFile().getAbsoluteFile())); + LOG.debug("Attempting to create output directory %s.".formatted( + outputFile.getParentFile().getAbsoluteFile())); if (!outputFile.getParentFile().getAbsoluteFile().mkdirs()) { - throw new IllegalStateException(String.format("Couldn't create directory %s.", - outputFile.getParentFile().getAbsolutePath())); + throw new IllegalStateException("Couldn't create directory %s.".formatted( + outputFile.getParentFile().getAbsolutePath())); } - LOG.debug(String.format("Creating output file %s.", outputFile.getAbsolutePath())); + LOG.debug("Creating output file %s.".formatted(outputFile.getAbsolutePath())); outputFileStream = new FileOutputStream(outputFile); } else { outputFileStream = new FileOutputStream(outputFile); diff --git a/common/src/java/org/apache/hadoop/hive/common/FileUtils.java b/common/src/java/org/apache/hadoop/hive/common/FileUtils.java index be994461f318..89e3d7376947 100644 --- a/common/src/java/org/apache/hadoop/hive/common/FileUtils.java +++ b/common/src/java/org/apache/hadoop/hive/common/FileUtils.java @@ -1007,8 +1007,10 @@ public static boolean rename(FileSystem fs, Path sourcePath, // If destPath directory exists, rename call will move the sourcePath // into destPath without failing. So check it before renaming. if (fs.exists(destPath)) { - throw new IOException("Cannot rename the source path. The destination " - + "path already exists."); + throw new IOException(""" + Cannot rename the source path. The destination \ + path already exists.\ + """); } return fs.rename(sourcePath, destPath); } @@ -1094,8 +1096,10 @@ public static void checkDeletePermission(Path path, Configuration conf, String u if (childStatus.getOwner().equals(user)) { return; } - String msg = String.format("Permission Denied: User %s can't delete %s because sticky bit is" - + " set on the parent dir and user does not own this file or its parent", user, path); + String msg = (""" + Permission Denied: User %s can't delete %s because sticky bit is\ + set on the parent dir and user does not own this file or its parent\ + """).formatted(user, path); throw new IOException(msg); } diff --git a/common/src/java/org/apache/hadoop/hive/common/HeapMemoryMonitor.java b/common/src/java/org/apache/hadoop/hive/common/HeapMemoryMonitor.java index 56ec2fd6a140..bc85e7af138e 100644 --- a/common/src/java/org/apache/hadoop/hive/common/HeapMemoryMonitor.java +++ b/common/src/java/org/apache/hadoop/hive/common/HeapMemoryMonitor.java @@ -100,8 +100,10 @@ private static MemoryPoolMXBean getTenuredGenPool() { if (isUsageThresholdSupported) { return pool; } else { - LOG.error("{} vendor does not support isCollectionUsageThresholdSupported() and isUsageThresholdSupported()" + - " for tenured memory pool '{}'.", vendor, pool.getName()); + LOG.error(""" + {} vendor does not support isCollectionUsageThresholdSupported() and isUsageThresholdSupported()\ + for tenured memory pool '{}'.\ + """, vendor, pool.getName()); } } } diff --git a/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java b/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java index 8d0d6c55e659..d2d867f8fefa 100644 --- a/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java +++ b/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java @@ -70,8 +70,8 @@ public static boolean closeClassLoadersTo(ClassLoader current, ClassLoader stop) try { closeClassLoader(current); } catch (IOException e) { - String detailedMessage = current instanceof URLClassLoader ? - Arrays.toString(((URLClassLoader) current).getURLs()) : + String detailedMessage = current instanceof URLClassLoader urlcl ? + Arrays.toString(urlcl.getURLs()) : ""; LOG.info("Failed to close class loader " + current + " " + detailedMessage, e); } @@ -90,8 +90,8 @@ private static boolean isValidHierarchy(ClassLoader current, ClassLoader stop) { } public static void closeClassLoader(ClassLoader loader) throws IOException { - if (loader instanceof Closeable) { - ((Closeable) loader).close(); + if (loader instanceof Closeable closeable) { + closeable.close(); } else { LOG.warn("Ignoring attempt to close class loader ({}) -- not instance of UDFClassLoader.", loader == null ? "mull" : loader.getClass().getSimpleName()); diff --git a/common/src/java/org/apache/hadoop/hive/common/LogUtils.java b/common/src/java/org/apache/hadoop/hive/common/LogUtils.java index 806ed9be66cf..c0910858c25c 100644 --- a/common/src/java/org/apache/hadoop/hive/common/LogUtils.java +++ b/common/src/java/org/apache/hadoop/hive/common/LogUtils.java @@ -245,16 +245,14 @@ public static void unregisterLoggingContext() { public static String getLogFilePath() { String logFilePath = null; org.apache.logging.log4j.Logger rootLogger = LogManager.getRootLogger(); - if (rootLogger instanceof org.apache.logging.log4j.core.Logger) { - org.apache.logging.log4j.core.Logger coreLogger = - (org.apache.logging.log4j.core.Logger)rootLogger; + if (rootLogger instanceof org.apache.logging.log4j.core.Logger coreLogger) { for (Appender appender : coreLogger.getAppenders().values()) { - if (appender instanceof FileAppender) { - logFilePath = ((FileAppender) appender).getFileName(); - } else if (appender instanceof RollingFileAppender) { - logFilePath = ((RollingFileAppender) appender).getFileName(); - } else if (appender instanceof RollingRandomAccessFileAppender) { - logFilePath = ((RollingRandomAccessFileAppender) appender).getFileName(); + if (appender instanceof FileAppender fileAppender) { + logFilePath = fileAppender.getFileName(); + } else if (appender instanceof RollingFileAppender fileAppender) { + logFilePath = fileAppender.getFileName(); + } else if (appender instanceof RollingRandomAccessFileAppender fileAppender) { + logFilePath = fileAppender.getFileName(); } } } diff --git a/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java b/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java index 00d4796f7bfb..f01bb6bb388e 100644 --- a/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java +++ b/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java @@ -847,8 +847,10 @@ private void verifyForParse() { !(temporalFields.contains(ChronoField.MONTH_OF_YEAR) && temporalFields.contains(ChronoField.DAY_OF_MONTH) || temporalFields.contains(ChronoField.DAY_OF_YEAR))) { - throw new IllegalArgumentException("Missing day of year or (month of year + day of month)" - + " tokens."); + throw new IllegalArgumentException(""" + Missing day of year or (month of year + day of month)\ + tokens.\ + """); } if (containsIsoFields && !(temporalFields.contains(IsoFields.WEEK_OF_WEEK_BASED_YEAR) && @@ -856,8 +858,10 @@ private void verifyForParse() { throw new IllegalArgumentException("Missing week of year (iw) or day of week (id) tokens."); } if (roundYearCount > 0 && yearCount > 0) { - throw new IllegalArgumentException("Invalid duplication of format element: Both year and" - + "round year are provided"); + throw new IllegalArgumentException(""" + Invalid duplication of format element: Both year and\ + round year are provided\ + """); } for (TemporalField tokenType : temporalFields) { if (Collections.frequency(temporalFields, tokenType) > 1) { @@ -1281,8 +1285,10 @@ private int parseNumericTemporal(String substring, Token token) { return 0; } if ("0".equals(substring)) { - throw new IllegalArgumentException("Value of hour of day (hh/hh12) in input is 0. " - + "The value should be between 1 and 12."); + throw new IllegalArgumentException(""" + Value of hour of day (hh/hh12) in input is 0. \ + The value should be between 1 and 12.\ + """); } } if (token.temporalField == ChronoField.YEAR diff --git a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Stage.java b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Stage.java index f2b327392ec9..a28b8538e3e9 100644 --- a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Stage.java +++ b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Stage.java @@ -100,8 +100,7 @@ public void extractVertex(JSONObject object) throws Exception { Object o = edges.get(to); Vertex v = vertices.get(to); // 1 to 1 mapping - if (o instanceof JSONObject) { - JSONObject obj = (JSONObject) o; + if (o instanceof JSONObject obj) { String parent = obj.getString("parent"); Vertex parentVertex = vertices.get(parent); if (parentVertex == null) { @@ -194,8 +193,7 @@ Op extractOp(String opName, JSONObject opObj) throws Exception { Object o = opObj.get(name); if (isPrintable(o) && !o.toString().isEmpty()) { attrs.put(name, o.toString()); - } else if (o instanceof JSONObject) { - JSONObject attrObj = (JSONObject) o; + } else if (o instanceof JSONObject attrObj) { if (attrObj.length() > 0) { if (name.equals("Processor Tree:")) { JSONObject object = new JSONObject(new LinkedHashMap<>()); diff --git a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Vertex.java b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Vertex.java index 7771d373b6e7..2cf752320846 100644 --- a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Vertex.java +++ b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/Vertex.java @@ -171,13 +171,13 @@ Op extractOp(JSONObject object, Op parent) throws Exception { for (String attrName : JSONObject.getNames(attrObj)) { if (attrName.equals("children")) { Object childrenObj = attrObj.get(attrName); - if (childrenObj instanceof JSONObject) { - if (((JSONObject) childrenObj).length() != 0) { - children.add(extractOp((JSONObject) childrenObj, op)); + if (childrenObj instanceof JSONObject nObject) { + if (nObject.length() != 0) { + children.add(extractOp(nObject, op)); } - } else if (childrenObj instanceof JSONArray) { - if (((JSONArray) childrenObj).length() != 0) { - JSONArray array = ((JSONArray) childrenObj); + } else if (childrenObj instanceof JSONArray nArray) { + if (nArray.length() != 0) { + JSONArray array =nArray; for (int index = 0; index < array.length(); index++) { children.add(extractOp(array.getJSONObject(index), op)); } diff --git a/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java b/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java index c9023fe7dd1d..fe55e7267d3e 100644 --- a/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java +++ b/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java @@ -149,14 +149,14 @@ public void render(ProgressMonitor monitor) { // VERTICES STATUS TOTAL COMPLETED RUNNING PENDING FAILED KILLED // ------------------------------------------------------------------------------- reprintLine(SEPARATOR); - reprintLineWithColorAsBold(String.format(HEADER_FORMAT, monitor.headers().toArray()), + reprintLineWithColorAsBold(HEADER_FORMAT.formatted(monitor.headers().toArray()), Ansi.Color.CYAN); reprintLine(SEPARATOR); // Map 1 .......... container SUCCEEDED 7 7 0 0 0 0 List printReady = - monitor.rows().stream().map(row -> String.format(VERTEX_FORMAT, row.toArray())).collect(Collectors.toList()); + monitor.rows().stream().map(row -> VERTEX_FORMAT.formatted(row.toArray())).collect(Collectors.toList()); reprintMultiLine(StringUtils.join(printReady, "\n")); // ------------------------------------------------------------------------------- @@ -165,12 +165,12 @@ public void render(ProgressMonitor monitor) { String progressStr = "" + (int) (monitor.progressedPercentage() * 100) + "%"; float et = (float) (System.currentTimeMillis() - monitor.startTime()) / (float) 1000; String elapsedTime = "ELAPSED TIME: " + secondsFormatter.format(et) + " s"; - String footer = String.format( - FOOTER_FORMAT, - monitor.footerSummary(), - getInPlaceProgressBar(monitor.progressedPercentage()), - progressStr, - elapsedTime); + String footer = + FOOTER_FORMAT.formatted( + monitor.footerSummary(), + getInPlaceProgressBar(monitor.progressedPercentage()), + progressStr, + elapsedTime); reprintLine(SEPARATOR); reprintLineWithColorAsBold(footer, Ansi.Color.RED); diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Date.java b/common/src/java/org/apache/hadoop/hive/common/type/Date.java index 0f47ba513d47..bc4133877816 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/Date.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/Date.java @@ -116,8 +116,8 @@ public int hashCode() { @Override public boolean equals(Object other) { - if (other instanceof Date) { - return compareTo((Date) other) == 0; + if (other instanceof Date date) { + return compareTo(date) == 0; } return false; } diff --git a/common/src/java/org/apache/hadoop/hive/common/type/HiveIntervalYearMonth.java b/common/src/java/org/apache/hadoop/hive/common/type/HiveIntervalYearMonth.java index 7fb4e9f0989d..915958588aef 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/HiveIntervalYearMonth.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/HiveIntervalYearMonth.java @@ -111,7 +111,7 @@ public int hashCode() { public String toString() { String yearMonthSignStr = totalMonths >= 0 ? "" : "-"; - return String.format("%s%d-%d", + return "%s%d-%d".formatted( yearMonthSignStr, Math.abs(getYears()), Math.abs(getMonths())); } diff --git a/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java b/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java index f4b5c8c584bc..75cc7644227c 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/HiveVarchar.java @@ -62,8 +62,8 @@ public boolean equals(Object rhs) { if (rhs == this) { return true; } - if (rhs instanceof HiveVarchar) { - return this.getValue().equals(((HiveVarchar) rhs).getValue()); + if (rhs instanceof HiveVarchar varchar) { + return this.getValue().equals(varchar.getValue()); } return false; } diff --git a/common/src/java/org/apache/hadoop/hive/common/type/SignedInt128.java b/common/src/java/org/apache/hadoop/hive/common/type/SignedInt128.java index 9da8cc91b173..014e22011be2 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/SignedInt128.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/SignedInt128.java @@ -532,8 +532,7 @@ public boolean isZero() { @Override public boolean equals(Object obj) { - if (obj instanceof SignedInt128) { - SignedInt128 o = (SignedInt128) obj; + if (obj instanceof SignedInt128 o) { return this.negative == o.negative && mag.equals(o.mag); } else { return false; diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java b/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java index c026f8a8e9e8..22b1ee2e8538 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java @@ -134,8 +134,8 @@ public int hashCode() { @Override public boolean equals(Object other) { - if (other instanceof Timestamp) { - return compareTo((Timestamp) other) == 0; + if (other instanceof Timestamp timestamp) { + return compareTo(timestamp) == 0; } return false; } diff --git a/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java b/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java index 3ff06e0eeadf..97af63b6dda8 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java @@ -77,8 +77,8 @@ public int hashCode() { @Override public boolean equals(Object other) { - if (other instanceof TimestampTZ) { - return compareTo((TimestampTZ) other) == 0; + if (other instanceof TimestampTZ tZ) { + return compareTo(tZ) == 0; } return false; } diff --git a/common/src/java/org/apache/hadoop/hive/conf/Validator.java b/common/src/java/org/apache/hadoop/hive/conf/Validator.java index 8bc64a63195f..3d729a745e9d 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/Validator.java +++ b/common/src/java/org/apache/hadoop/hive/conf/Validator.java @@ -365,15 +365,15 @@ public String validate(String value) { if (value == null) return null; final Path path = FileSystems.getDefault().getPath(value); if (path == null) { - return String.format("Path '%s' provided could not be located.", value); + return "Path '%s' provided could not be located.".formatted(value); } else { final boolean isDir = Files.isDirectory(path); final boolean isWritable = Files.isWritable(path); if (!isDir) { - return String.format("Path '%s' provided is not a directory.", value); + return "Path '%s' provided is not a directory.".formatted(value); } if (!isWritable) { - return String.format("Path '%s' provided is not writable.", value); + return "Path '%s' provided is not writable.".formatted(value); } return null; } diff --git a/common/src/java/org/apache/hadoop/hive/conf/valcoersion/JavaIOTmpdirVariableCoercion.java b/common/src/java/org/apache/hadoop/hive/conf/valcoersion/JavaIOTmpdirVariableCoercion.java index d2a24f31a08a..3cd27f145e1c 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/valcoersion/JavaIOTmpdirVariableCoercion.java +++ b/common/src/java/org/apache/hadoop/hive/conf/valcoersion/JavaIOTmpdirVariableCoercion.java @@ -50,7 +50,7 @@ private String coerce(String originalValue) { Path absolutePath = FileUtils.makeAbsolute(LOCAL_FILE_SYSTEM, originalPath); return absolutePath.toString(); } catch (IOException exception) { - LOG.warn(String.format("Unable to resolve 'java.io.tmpdir' for absolute path '%s'", originalValue)); + LOG.warn("Unable to resolve 'java.io.tmpdir' for absolute path '%s'".formatted(originalValue)); return originalValue; } } diff --git a/common/src/java/org/apache/hive/common/util/CleanerUtil.java b/common/src/java/org/apache/hive/common/util/CleanerUtil.java index 1fd8cf8b455d..e4a0ca1c65d6 100644 --- a/common/src/java/org/apache/hive/common/util/CleanerUtil.java +++ b/common/src/java/org/apache/hive/common/util/CleanerUtil.java @@ -75,8 +75,8 @@ public static BufferCleaner getCleaner() { static { final Object hack = AccessController.doPrivileged( (PrivilegedAction) CleanerUtil::unmapHackImpl); - if (hack instanceof BufferCleaner) { - CLEANER = (BufferCleaner) hack; + if (hack instanceof BufferCleaner cleaner) { + CLEANER = cleaner; UNMAP_SUPPORTED = true; UNMAP_NOT_SUPPORTED_REASON = null; } else { diff --git a/common/src/java/org/apache/hive/common/util/DateUtils.java b/common/src/java/org/apache/hive/common/util/DateUtils.java index cc023011a6f8..98c4910ab736 100644 --- a/common/src/java/org/apache/hive/common/util/DateUtils.java +++ b/common/src/java/org/apache/hive/common/util/DateUtils.java @@ -52,7 +52,7 @@ public static int parseNumericValueWithRange(String fieldName, if (strVal != null) { result = Integer.parseInt(strVal); if (result < minValue || result > maxValue) { - throw new IllegalArgumentException(String.format("%s value %d outside range [%d, %d]", + throw new IllegalArgumentException("%s value %d outside range [%d, %d]".formatted( fieldName, result, minValue, maxValue)); } } diff --git a/common/src/java/org/apache/hive/common/util/HiveStringUtils.java b/common/src/java/org/apache/hive/common/util/HiveStringUtils.java index ee94e413c726..2b34af78c183 100644 --- a/common/src/java/org/apache/hive/common/util/HiveStringUtils.java +++ b/common/src/java/org/apache/hive/common/util/HiveStringUtils.java @@ -216,7 +216,7 @@ public static String byteToHexString(byte[] bytes, int start, int end) { } StringBuilder s = new StringBuilder(); for(int i = start; i < end; i++) { - s.append(String.format("%02x", bytes[i])); + s.append("%02x".formatted(bytes[i])); } return s.toString(); } diff --git a/common/src/java/org/apache/hive/common/util/ReflectionUtil.java b/common/src/java/org/apache/hive/common/util/ReflectionUtil.java index 5b3da0708224..481f26d7101b 100644 --- a/common/src/java/org/apache/hive/common/util/ReflectionUtil.java +++ b/common/src/java/org/apache/hive/common/util/ReflectionUtil.java @@ -31,8 +31,6 @@ import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; -import static java.lang.String.format; - /** * Same as Hadoop ReflectionUtils, but (1) does not leak classloaders (or shouldn't anyway, we * rely on Guava cache, and could fix it otherwise); (2) does not have a hidden epic lock. @@ -102,8 +100,8 @@ public static T newInstance(Class theClass, Configuration conf) { */ public static void setConf(Object theObject, Configuration conf) { if (conf != null) { - if (theObject instanceof Configurable) { - ((Configurable) theObject).setConf(conf); + if (theObject instanceof Configurable configurable) { + configurable.setConf(conf); } setJobConf(theObject, conf); } @@ -135,7 +133,7 @@ public static void setField(Object object, String field, Object value) { fieldToChange.setAccessible(true); fieldToChange.set(object, value); } catch (NoSuchFieldException | IllegalAccessException e) { - throw new RuntimeException(format("Cannot set field %s in object %s", field, object.getClass())); + throw new RuntimeException("Cannot set field %s in object %s".formatted(field, object.getClass())); } } @@ -157,7 +155,7 @@ public static void setInAllFields(Object object, String field, Object value) { fieldToChange.set(object, value); } catch (NoSuchFieldException | IllegalAccessException e) { - throw new RuntimeException(format("Cannot set field %s in object %s", field, object.getClass())); + throw new RuntimeException("Cannot set field %s in object %s".formatted(field, object.getClass())); } } } diff --git a/common/src/java/org/apache/hive/common/util/RetryUtilities.java b/common/src/java/org/apache/hive/common/util/RetryUtilities.java index 12fe2b7018fd..1eda375abb52 100644 --- a/common/src/java/org/apache/hive/common/util/RetryUtilities.java +++ b/common/src/java/org/apache/hive/common/util/RetryUtilities.java @@ -63,18 +63,18 @@ public static abstract class ExponentiallyDecayingBatchWork public ExponentiallyDecayingBatchWork(int batchSize, int reducingFactor, int maxRetries) { if (batchSize <= 0) { - throw new IllegalArgumentException(String.format( - "Invalid batch size %d provided. Batch size must be greater than 0", batchSize)); + throw new IllegalArgumentException( + "Invalid batch size %d provided. Batch size must be greater than 0".formatted(batchSize)); } this.batchSize = batchSize; if (reducingFactor <= 1) { - throw new IllegalArgumentException(String.format( - "Invalid decaying factor %d provided. Decaying factor must be greater than 1", + throw new IllegalArgumentException( + "Invalid decaying factor %d provided. Decaying factor must be greater than 1".formatted( batchSize)); } if (maxRetries < 0) { - throw new IllegalArgumentException(String.format( - "Invalid number of maximum retries %d provided. It must be a non-negative integer value", + throw new IllegalArgumentException( + "Invalid number of maximum retries %d provided. It must be a non-negative integer value".formatted( maxRetries)); } //if maxRetries is 0 code retries until batch decays to zero @@ -92,12 +92,12 @@ public T run() throws Exception { try { return execute(size); } catch (Exception ex) { - LOG.warn(String.format("Exception thrown while processing using a batch size %d", size), + LOG.warn("Exception thrown while processing using a batch size %d".formatted(size), ex); } finally { attempt++; if (attempt == maxRetries) { - throw new RetryException(String.format("Maximum number of retry attempts %d exhausted", maxRetries)); + throw new RetryException("Maximum number of retry attempts %d exhausted".formatted(maxRetries)); } } } diff --git a/common/src/java/org/apache/hive/http/HttpServer.java b/common/src/java/org/apache/hive/http/HttpServer.java index 83555fc5c73e..edd834bf7d4b 100644 --- a/common/src/java/org/apache/hive/http/HttpServer.java +++ b/common/src/java/org/apache/hive/http/HttpServer.java @@ -440,8 +440,10 @@ static boolean hasAdministratorAccess( if (remoteUser == null) { if (response != null) { response.sendError(HttpServletResponse.SC_UNAUTHORIZED, - "Unauthenticated users are not " + - "authorized to access this page."); + """ + Unauthenticated users are not \ + authorized to access this page.\ + """); } return false; } @@ -751,11 +753,11 @@ String getLogDir(Configuration conf) { LoggerContext context = (LoggerContext)LogManager.getContext(false); for (Logger logger: context.getLoggers()) { for (Appender appender: logger.getAppenders().values()) { - if (appender instanceof AbstractOutputStreamAppender) { + if (appender instanceof AbstractOutputStreamAppender streamAppender) { OutputStreamManager manager = - ((AbstractOutputStreamAppender)appender).getManager(); - if (manager instanceof FileManager) { - String fileName = ((FileManager)manager).getFileName(); + streamAppender.getManager(); + if (manager instanceof FileManager fileManager) { + String fileName = fileManager.getFileName(); if (fileName != null) { return fileName.substring(0, fileName.lastIndexOf('/')); } diff --git a/common/src/java/org/apache/hive/http/JMXJsonServlet.java b/common/src/java/org/apache/hive/http/JMXJsonServlet.java index 7ad8af3df3ff..4f078b5a017e 100644 --- a/common/src/java/org/apache/hive/http/JMXJsonServlet.java +++ b/common/src/java/org/apache/hive/http/JMXJsonServlet.java @@ -383,14 +383,11 @@ private void writeObject(JsonGenerator jg, Object value) throws IOException { writeObject(jg, item); } jg.writeEndArray(); - } else if(value instanceof Number) { - Number n = (Number)value; + } else if(value instanceof Number n) { jg.writeNumber(n.toString()); - } else if(value instanceof Boolean) { - Boolean b = (Boolean)value; + } else if(value instanceof Boolean b) { jg.writeBoolean(b); - } else if(value instanceof CompositeData) { - CompositeData cds = (CompositeData)value; + } else if(value instanceof CompositeData cds) { CompositeType comp = cds.getCompositeType(); Set keys = comp.keySet(); jg.writeStartObject(); @@ -398,8 +395,7 @@ private void writeObject(JsonGenerator jg, Object value) throws IOException { writeAttribute(jg, key, cds.get(key)); } jg.writeEndObject(); - } else if(value instanceof TabularData) { - TabularData tds = (TabularData)value; + } else if(value instanceof TabularData tds) { jg.writeStartArray(); for(Object entry : tds.values()) { writeObject(jg, entry); diff --git a/common/src/test/org/apache/hadoop/hive/common/TestTezJsonParser.java b/common/src/test/org/apache/hadoop/hive/common/TestTezJsonParser.java index 63ffbc037be1..1b95e1c242d5 100644 --- a/common/src/test/org/apache/hadoop/hive/common/TestTezJsonParser.java +++ b/common/src/test/org/apache/hadoop/hive/common/TestTezJsonParser.java @@ -47,128 +47,130 @@ public void testQuery27() throws Exception { String content = new String(baos.toByteArray(), StandardCharsets.UTF_8); Assert .assertEquals( - "Plan optimized by CBO.\n" - + "\n" - + "Vertex dependency in root stage\n" - + "Map 1 <- Map 5 (BROADCAST_EDGE)\n" - + "Map 6 <- Map 8 (BROADCAST_EDGE)\n" - + "Map 9 <- Map 10 (BROADCAST_EDGE)\n" - + "Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)\n" - + "Reducer 3 <- Reducer 2 (SIMPLE_EDGE)\n" - + "Reducer 4 <- Reducer 3 (SIMPLE_EDGE)\n" - + "Reducer 7 <- Map 11 (BROADCAST_EDGE), Map 12 (BROADCAST_EDGE), Map 6 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)\n" - + "\n" - + "Stage-0\n" - + " Fetch Operator\n" - + " limit:100\n" - + " Stage-1\n" - + " Reducer 4\n" - + " File Output Operator [FS_55]\n" - + " Limit [LIM_54] (rows=100 width=133)\n" - + " Number of rows:100\n" - + " Select Operator [SEL_53] (rows=2319458 width=133)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\",\"_col3\",\"_col4\",\"_col5\",\"_col6\"]\n" - + " <-Reducer 3 [SIMPLE_EDGE]\n" - + " SHUFFLE [RS_52]\n" - + " Group By Operator [GBY_50] (rows=2319458 width=133)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\",\"_col3\",\"_col4\",\"_col5\",\"_col6\"],aggregations:[\"sum(VALUE._col0)\",\"sum(VALUE._col1)\",\"sum(VALUE._col2)\"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3\n" - + " <-Reducer 2 [SIMPLE_EDGE]\n" - + " SHUFFLE [RS_49]\n" - + " PartitionCols:_col0, _col1, _col2, _col3\n" - + " Group By Operator [GBY_48] (rows=4638916 width=133)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\",\"_col3\",\"_col4\",\"_col5\",\"_col6\"],aggregations:[\"sum(_col18)\",\"sum(_col26)\",\"sum(_col3)\"],keys:_col11, _col12, _col8, _col9\n" - + " Merge Join Operator [MERGEJOIN_99] (rows=4638916 width=133)\n" - + " Conds:RS_44._col1, _col2=RS_45._col17, _col16(Inner),Output:[\"_col3\",\"_col8\",\"_col9\",\"_col11\",\"_col12\",\"_col18\",\"_col26\"]\n" - + " <-Map 1 [SIMPLE_EDGE]\n" - + " SHUFFLE [RS_44]\n" - + " PartitionCols:_col1, _col2\n" - + " Map Join Operator [MAPJOIN_93] (rows=1585702 width=204)\n" - + " Conds:SEL_2._col0=RS_42._col0(Inner),HybridGraceHashJoin:true,Output:[\"_col1\",\"_col2\",\"_col3\"]\n" - + " <-Map 5 [BROADCAST_EDGE]\n" - + " BROADCAST [RS_42]\n" - + " PartitionCols:_col0\n" - + " Select Operator [SEL_5] (rows=4058 width=140)\n" - + " Output:[\"_col0\"]\n" - + " Filter Operator [FIL_86] (rows=4058 width=140)\n" - + " predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 1998) and d_date_sk is not null)\n" - + " TableScan [TS_3] (rows=73049 width=140)\n" - + " default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:[\"d_date_sk\",\"d_year\",\"d_moy\"]\n" - + " <-Select Operator [SEL_2] (rows=1441548 width=204)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\",\"_col3\"]\n" - + " Filter Operator [FIL_85] (rows=1441548 width=204)\n" - + " predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)\n" - + " TableScan [TS_0] (rows=1441548 width=204)\n" - + " default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:[\"cs_sold_date_sk\",\"cs_bill_customer_sk\",\"cs_item_sk\",\"cs_net_profit\"]\n" - + " <-Reducer 7 [SIMPLE_EDGE]\n" - + " SHUFFLE [RS_45]\n" - + " PartitionCols:_col17, _col16\n" - + " Select Operator [SEL_40] (rows=4217197 width=133)\n" - + " Output:[\"_col1\",\"_col2\",\"_col4\",\"_col5\",\"_col11\",\"_col16\",\"_col17\",\"_col19\"]\n" - + " Map Join Operator [MAPJOIN_98] (rows=4217197 width=133)\n" - + " Conds:MAPJOIN_97._col3=RS_38._col0(Inner),HybridGraceHashJoin:true,Output:[\"_col5\",\"_col10\",\"_col11\",\"_col13\",\"_col18\",\"_col19\",\"_col21\",\"_col22\"]\n" - + " <-Map 12 [BROADCAST_EDGE]\n" - + " BROADCAST [RS_38]\n" - + " PartitionCols:_col0\n" - + " Select Operator [SEL_27] (rows=12 width=261)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\"]\n" - + " Filter Operator [FIL_92] (rows=12 width=261)\n" - + " predicate:s_store_sk is not null\n" - + " TableScan [TS_25] (rows=12 width=261)\n" - + " default@store,store,Tbl:COMPLETE,Col:NONE,Output:[\"s_store_sk\",\"s_store_id\",\"s_store_name\"]\n" - + " <-Map Join Operator [MAPJOIN_97] (rows=3833816 width=133)\n" - + " Conds:MERGEJOIN_96._col1=RS_35._col0(Inner),HybridGraceHashJoin:true,Output:[\"_col3\",\"_col5\",\"_col10\",\"_col11\",\"_col13\",\"_col18\",\"_col19\"]\n" - + " <-Map 11 [BROADCAST_EDGE]\n" - + " BROADCAST [RS_35]\n" - + " PartitionCols:_col0\n" - + " Select Operator [SEL_24] (rows=18000 width=279)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\"]\n" - + " Filter Operator [FIL_91] (rows=18000 width=279)\n" - + " predicate:i_item_sk is not null\n" - + " TableScan [TS_22] (rows=18000 width=279)\n" - + " default@item,item,Tbl:COMPLETE,Col:NONE,Output:[\"i_item_sk\",\"i_item_id\",\"i_item_desc\"]\n" - + " <-Merge Join Operator [MERGEJOIN_96] (rows=3485288 width=133)\n" - + " Conds:RS_31._col1, _col2, _col4=RS_32._col1, _col2, _col3(Inner),Output:[\"_col1\",\"_col3\",\"_col5\",\"_col10\",\"_col11\",\"_col13\"]\n" - + " <-Map 6 [SIMPLE_EDGE]\n" - + " SHUFFLE [RS_31]\n" - + " PartitionCols:_col1, _col2, _col4\n" - + " Map Join Operator [MAPJOIN_94] (rows=3168444 width=133)\n" - + " Conds:SEL_8._col0=RS_29._col0(Inner),HybridGraceHashJoin:true,Output:[\"_col1\",\"_col2\",\"_col3\",\"_col4\",\"_col5\"]\n" - + " <-Map 8 [BROADCAST_EDGE]\n" - + " BROADCAST [RS_29]\n" - + " PartitionCols:_col0\n" - + " Select Operator [SEL_11] (rows=18262 width=140)\n" - + " Output:[\"_col0\"]\n" - + " Filter Operator [FIL_88] (rows=18262 width=140)\n" - + " predicate:((d_moy = 4) and (d_year = 1998) and d_date_sk is not null)\n" - + " TableScan [TS_9] (rows=73049 width=140)\n" - + " default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:[\"d_date_sk\",\"d_year\",\"d_moy\"]\n" - + " <-Select Operator [SEL_8] (rows=2880404 width=133)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\",\"_col3\",\"_col4\",\"_col5\"]\n" - + " Filter Operator [FIL_87] (rows=2880404 width=133)\n" - + " predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null)\n" - + " TableScan [TS_6] (rows=2880404 width=133)\n" - + " default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:[\"ss_sold_date_sk\",\"ss_item_sk\",\"ss_customer_sk\",\"ss_store_sk\",\"ss_ticket_number\",\"ss_net_profit\"]\n" - + " <-Map 9 [SIMPLE_EDGE]\n" - + " SHUFFLE [RS_32]\n" - + " PartitionCols:_col1, _col2, _col3\n" - + " Map Join Operator [MAPJOIN_95] (rows=316265 width=112)\n" - + " Conds:SEL_14._col0=RS_19._col0(Inner),HybridGraceHashJoin:true,Output:[\"_col1\",\"_col2\",\"_col3\",\"_col4\"]\n" - + " <-Map 10 [BROADCAST_EDGE]\n" - + " BROADCAST [RS_19]\n" - + " PartitionCols:_col0\n" - + " Select Operator [SEL_17] (rows=4058 width=140)\n" - + " Output:[\"_col0\"]\n" - + " Filter Operator [FIL_90] (rows=4058 width=140)\n" - + " predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 1998) and d_date_sk is not null)\n" - + " TableScan [TS_15] (rows=73049 width=140)\n" - + " default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:[\"d_date_sk\",\"d_year\",\"d_moy\"]\n" - + " <-Select Operator [SEL_14] (rows=287514 width=112)\n" - + " Output:[\"_col0\",\"_col1\",\"_col2\",\"_col3\",\"_col4\"]\n" - + " Filter Operator [FIL_89] (rows=287514 width=112)\n" - + " predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null)\n" - + " TableScan [TS_12] (rows=287514 width=112)\n" - + " default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:[\"sr_returned_date_sk\",\"sr_item_sk\",\"sr_customer_sk\",\"sr_ticket_number\",\"sr_net_loss\"]\n" - + "\n" + "", content); + """ + Plan optimized by CBO. + + Vertex dependency in root stage + Map 1 <- Map 5 (BROADCAST_EDGE) + Map 6 <- Map 8 (BROADCAST_EDGE) + Map 9 <- Map 10 (BROADCAST_EDGE) + Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE) + Reducer 3 <- Reducer 2 (SIMPLE_EDGE) + Reducer 4 <- Reducer 3 (SIMPLE_EDGE) + Reducer 7 <- Map 11 (BROADCAST_EDGE), Map 12 (BROADCAST_EDGE), Map 6 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE) + + Stage-0 + Fetch Operator + limit:100 + Stage-1 + Reducer 4 + File Output Operator [FS_55] + Limit [LIM_54] (rows=100 width=133) + Number of rows:100 + Select Operator [SEL_53] (rows=2319458 width=133) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"] + <-Reducer 3 [SIMPLE_EDGE] + SHUFFLE [RS_52] + Group By Operator [GBY_50] (rows=2319458 width=133) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3 + <-Reducer 2 [SIMPLE_EDGE] + SHUFFLE [RS_49] + PartitionCols:_col0, _col1, _col2, _col3 + Group By Operator [GBY_48] (rows=4638916 width=133) + Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col18)","sum(_col26)","sum(_col3)"],keys:_col11, _col12, _col8, _col9 + Merge Join Operator [MERGEJOIN_99] (rows=4638916 width=133) + Conds:RS_44._col1, _col2=RS_45._col17, _col16(Inner),Output:["_col3","_col8","_col9","_col11","_col12","_col18","_col26"] + <-Map 1 [SIMPLE_EDGE] + SHUFFLE [RS_44] + PartitionCols:_col1, _col2 + Map Join Operator [MAPJOIN_93] (rows=1585702 width=204) + Conds:SEL_2._col0=RS_42._col0(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2","_col3"] + <-Map 5 [BROADCAST_EDGE] + BROADCAST [RS_42] + PartitionCols:_col0 + Select Operator [SEL_5] (rows=4058 width=140) + Output:["_col0"] + Filter Operator [FIL_86] (rows=4058 width=140) + predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_3] (rows=73049 width=140) + default@date_dim,d3,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] + <-Select Operator [SEL_2] (rows=1441548 width=204) + Output:["_col0","_col1","_col2","_col3"] + Filter Operator [FIL_85] (rows=1441548 width=204) + predicate:(cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) + TableScan [TS_0] (rows=1441548 width=204) + default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:NONE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_net_profit"] + <-Reducer 7 [SIMPLE_EDGE] + SHUFFLE [RS_45] + PartitionCols:_col17, _col16 + Select Operator [SEL_40] (rows=4217197 width=133) + Output:["_col1","_col2","_col4","_col5","_col11","_col16","_col17","_col19"] + Map Join Operator [MAPJOIN_98] (rows=4217197 width=133) + Conds:MAPJOIN_97._col3=RS_38._col0(Inner),HybridGraceHashJoin:true,Output:["_col5","_col10","_col11","_col13","_col18","_col19","_col21","_col22"] + <-Map 12 [BROADCAST_EDGE] + BROADCAST [RS_38] + PartitionCols:_col0 + Select Operator [SEL_27] (rows=12 width=261) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_92] (rows=12 width=261) + predicate:s_store_sk is not null + TableScan [TS_25] (rows=12 width=261) + default@store,store,Tbl:COMPLETE,Col:NONE,Output:["s_store_sk","s_store_id","s_store_name"] + <-Map Join Operator [MAPJOIN_97] (rows=3833816 width=133) + Conds:MERGEJOIN_96._col1=RS_35._col0(Inner),HybridGraceHashJoin:true,Output:["_col3","_col5","_col10","_col11","_col13","_col18","_col19"] + <-Map 11 [BROADCAST_EDGE] + BROADCAST [RS_35] + PartitionCols:_col0 + Select Operator [SEL_24] (rows=18000 width=279) + Output:["_col0","_col1","_col2"] + Filter Operator [FIL_91] (rows=18000 width=279) + predicate:i_item_sk is not null + TableScan [TS_22] (rows=18000 width=279) + default@item,item,Tbl:COMPLETE,Col:NONE,Output:["i_item_sk","i_item_id","i_item_desc"] + <-Merge Join Operator [MERGEJOIN_96] (rows=3485288 width=133) + Conds:RS_31._col1, _col2, _col4=RS_32._col1, _col2, _col3(Inner),Output:["_col1","_col3","_col5","_col10","_col11","_col13"] + <-Map 6 [SIMPLE_EDGE] + SHUFFLE [RS_31] + PartitionCols:_col1, _col2, _col4 + Map Join Operator [MAPJOIN_94] (rows=3168444 width=133) + Conds:SEL_8._col0=RS_29._col0(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2","_col3","_col4","_col5"] + <-Map 8 [BROADCAST_EDGE] + BROADCAST [RS_29] + PartitionCols:_col0 + Select Operator [SEL_11] (rows=18262 width=140) + Output:["_col0"] + Filter Operator [FIL_88] (rows=18262 width=140) + predicate:((d_moy = 4) and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_9] (rows=73049 width=140) + default@date_dim,d1,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] + <-Select Operator [SEL_8] (rows=2880404 width=133) + Output:["_col0","_col1","_col2","_col3","_col4","_col5"] + Filter Operator [FIL_87] (rows=2880404 width=133) + predicate:(ss_item_sk is not null and ss_customer_sk is not null and ss_ticket_number is not null and ss_sold_date_sk is not null and ss_store_sk is not null) + TableScan [TS_6] (rows=2880404 width=133) + default@store_sales,store_sales,Tbl:COMPLETE,Col:NONE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_store_sk","ss_ticket_number","ss_net_profit"] + <-Map 9 [SIMPLE_EDGE] + SHUFFLE [RS_32] + PartitionCols:_col1, _col2, _col3 + Map Join Operator [MAPJOIN_95] (rows=316265 width=112) + Conds:SEL_14._col0=RS_19._col0(Inner),HybridGraceHashJoin:true,Output:["_col1","_col2","_col3","_col4"] + <-Map 10 [BROADCAST_EDGE] + BROADCAST [RS_19] + PartitionCols:_col0 + Select Operator [SEL_17] (rows=4058 width=140) + Output:["_col0"] + Filter Operator [FIL_90] (rows=4058 width=140) + predicate:(d_moy BETWEEN 4 AND 10 and (d_year = 1998) and d_date_sk is not null) + TableScan [TS_15] (rows=73049 width=140) + default@date_dim,d2,Tbl:COMPLETE,Col:NONE,Output:["d_date_sk","d_year","d_moy"] + <-Select Operator [SEL_14] (rows=287514 width=112) + Output:["_col0","_col1","_col2","_col3","_col4"] + Filter Operator [FIL_89] (rows=287514 width=112) + predicate:(sr_item_sk is not null and sr_customer_sk is not null and sr_ticket_number is not null and sr_returned_date_sk is not null) + TableScan [TS_12] (rows=287514 width=112) + default@store_returns,store_returns,Tbl:COMPLETE,Col:NONE,Output:["sr_returned_date_sk","sr_item_sk","sr_customer_sk","sr_ticket_number","sr_net_loss"] + + """, content); } } diff --git a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestOp.java b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestOp.java index 2ec470b37191..5670ffa99b57 100644 --- a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestOp.java +++ b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestOp.java @@ -42,11 +42,14 @@ public void setUp() throws Exception { @Test public void testInlineJoinOpJsonHandling() throws Exception { - String jsonString = "{" + - "\"input vertices:\":{\"a\":\"AVERTEX\"}," + "\"condition map:\": [" + - "{\"c1\": \"{\\\"type\\\": \\\"type\\\", \\\"left\\\": \\\"left\\\", " + - "\\\"right\\\": \\\"right\\\"}\"}]," + - "\"keys:\":{\"left\":\"AKEY\", \"right\":\"BKEY\"}}"; + String jsonString = """ + {\ + "input vertices:":{"a":"AVERTEX"},\ + "condition map:": [\ + {"c1": "{\\"type\\": \\"type\\", \\"left\\": \\"left\\", \ + \\"right\\": \\"right\\"}"}],\ + "keys:":{"left":"AKEY", "right":"BKEY"}}\ + """; JSONObject mapJoin = new JSONObject(jsonString); Vertex vertexB = new Vertex("vertex-b", null, null, tezJsonParser); diff --git a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestStage.java b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestStage.java index f1660c0724bf..1415ee59fb08 100644 --- a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestStage.java +++ b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestStage.java @@ -87,8 +87,10 @@ public void testAddDependencyRoot() throws Exception { @Test public void testExtractVertexNonTez() throws Exception { - String jsonString = "{\"OperatorName\":{\"a\":\"A\",\"b\":\"B\"}," + - "\"attr1\":\"ATTR1\"}"; + String jsonString = """ + {"OperatorName":{"a":"A","b":"B"},\ + "attr1":"ATTR1"}\ + """; JSONObject object = new JSONObject(jsonString); uut.extractVertex(object); @@ -110,9 +112,11 @@ public void testExtractVertexTezNoEdges() throws Exception { @Test public void testExtractVertexTezWithOneEdge() throws Exception { - String jsonString = "{\"Tez\":{\"a\":\"A\"," + - "\"Vertices:\":{\"v1\":{},\"v2\":{}}," + - "\"Edges:\":{\"v2\":{\"parent\":\"v1\",\"type\":\"TYPE\"}}}}"; + String jsonString = """ + {"Tez":{"a":"A",\ + "Vertices:":{"v1":{},"v2":{}},\ + "Edges:":{"v2":{"parent":"v1","type":"TYPE"}}}}\ + """; JSONObject object = new JSONObject(jsonString); uut.extractVertex(object); @@ -130,10 +134,12 @@ public void testExtractVertexTezWithOneEdge() throws Exception { @Test public void testExtractVertexTezWithOneToManyEdge() throws Exception { - String jsonString = "{\"Tez\":{\"a\":\"A\"," + - "\"Vertices:\":{\"v1\":{},\"v2\":{},\"v3\":{}}," + - "\"Edges:\":{\"v1\":[{\"parent\":\"v2\",\"type\":\"TYPE1\"}," + - "{\"parent\":\"v3\",\"type\":\"TYPE2\"}]}}}"; + String jsonString = """ + {"Tez":{"a":"A",\ + "Vertices:":{"v1":{},"v2":{},"v3":{}},\ + "Edges:":{"v1":[{"parent":"v2","type":"TYPE1"},\ + {"parent":"v3","type":"TYPE2"}]}}}\ + """; JSONObject object = new JSONObject(jsonString); uut.extractVertex(object); @@ -177,8 +183,10 @@ public void testExtractOpSimple() throws Exception { @Test public void testExtract() throws Exception { - String jsonString = "{\"b\":{\"b2\":\"B2\",\"b1\":\"B1\"}," + - "\"Processor Tree:\":{\"a1\":{\"t1\":\"T1\"}}}"; + String jsonString = """ + {"b":{"b2":"B2","b1":"B1"},\ + "Processor Tree:":{"a1":{"t1":"T1"}}}\ + """; JSONObject object = new JSONObject(jsonString); Op result = uut.extractOp("op-name", object); diff --git a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestVertex.java b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestVertex.java index 38250ddeb34f..d950ebb3d651 100644 --- a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestVertex.java +++ b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/TestVertex.java @@ -75,8 +75,10 @@ public void testExtractOpNoChildrenOperatorId() throws Exception { @Test public void testExtractOpOneChild() throws Exception { - String jsonString = "{\"opName\":{\"children\":{\"childName\":" + - "{\"OperatorId:\":\"child-operator-id\"}}}}"; + String jsonString = """ + {"opName":{"children":{"childName":\ + {"OperatorId:":"child-operator-id"}}}}\ + """; JSONObject operator = new JSONObject(jsonString); Vertex uut = new Vertex("name", null, null, tezJsonParser); @@ -90,9 +92,11 @@ public void testExtractOpOneChild() throws Exception { @Test public void testExtractOpMultipleChildren() throws Exception { - String jsonString = "{\"opName\":{\"children\":[" + - "{\"childName1\":{\"OperatorId:\":\"child-operator-id1\"}}," + - "{\"childName2\":{\"OperatorId:\":\"child-operator-id2\"}}]}}"; + String jsonString = """ + {"opName":{"children":[\ + {"childName1":{"OperatorId:":"child-operator-id1"}},\ + {"childName2":{"OperatorId:":"child-operator-id2"}}]}}\ + """; JSONObject operator = new JSONObject(jsonString); Vertex uut = new Vertex("name", null, null, tezJsonParser); diff --git a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/tez/TestTezJsonParser.java b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/tez/TestTezJsonParser.java index b1618d6fcfc5..6d6276777a92 100644 --- a/common/src/test/org/apache/hadoop/hive/common/jsonexplain/tez/TestTezJsonParser.java +++ b/common/src/test/org/apache/hadoop/hive/common/jsonexplain/tez/TestTezJsonParser.java @@ -35,8 +35,10 @@ public void setUp() throws Exception { @Test public void testExtractStagesAndPlans() throws Exception { - String jsonString = "{\"STAGE DEPENDENCIES\":{\"s1\":{\"ROOT STAGE\":\"\"}," + - "\"s2\":{\"DEPENDENT STAGES\":\"s1\"}},\"STAGE PLANS\":{}}"; + String jsonString = """ + {"STAGE DEPENDENCIES":{"s1":{"ROOT STAGE":""},\ + "s2":{"DEPENDENT STAGES":"s1"}},"STAGE PLANS":{}}\ + """; JSONObject input = new JSONObject(jsonString); uut.extractStagesAndPlans(input); diff --git a/common/src/test/org/apache/hadoop/hive/conf/TestHiveConf.java b/common/src/test/org/apache/hadoop/hive/conf/TestHiveConf.java index 0e8e4c35fc5d..a9b3c089c3f2 100644 --- a/common/src/test/org/apache/hadoop/hive/conf/TestHiveConf.java +++ b/common/src/test/org/apache/hadoop/hive/conf/TestHiveConf.java @@ -229,15 +229,17 @@ public void testAdditionalConfigFiles() throws Exception{ FileUtils.writeStringToFile(fileHiveSite, testHiveSiteString); - String testLdapString = "\n" + - "\n" + - "\n" + - " \n" + - " hive.server2.authentication.ldap.Domain\n" + - " b.com\n" + - "\n" + - "\n" + - ""; + String testLdapString = """ + + + + + hive.server2.authentication.ldap.Domain + b.com + + + \ + """; String newFileName = parFolder+"/ldap-site.xml"; diff --git a/common/src/test/org/apache/hadoop/hive/conf/TestHiveConfVarsValidate.java b/common/src/test/org/apache/hadoop/hive/conf/TestHiveConfVarsValidate.java index 42736ddb3d6f..2370ebc7a16f 100644 --- a/common/src/test/org/apache/hadoop/hive/conf/TestHiveConfVarsValidate.java +++ b/common/src/test/org/apache/hadoop/hive/conf/TestHiveConfVarsValidate.java @@ -69,8 +69,10 @@ public static Collection generateParameters() { list.add(new Object[] { HIVE_DATETIME_RESOLVER_STYLE, "smart", null}); list.add(new Object[] { HIVE_DATETIME_RESOLVER_STYLE, "strict", null}); list.add(new Object[] { HIVE_DATETIME_RESOLVER_STYLE, "lenient", null}); - list.add(new Object[] { HIVE_DATETIME_RESOLVER_STYLE, "OTHER", "Invalid value.. expects one of [smart, strict, " + - "lenient]" }); + list.add(new Object[] { HIVE_DATETIME_RESOLVER_STYLE, "OTHER", """ + Invalid value.. expects one of [smart, strict, \ + lenient]\ + """ }); return list; } diff --git a/common/src/test/org/apache/hadoop/hive/conf/TestSystemVariables.java b/common/src/test/org/apache/hadoop/hive/conf/TestSystemVariables.java index 364102040093..c577d9d8f477 100644 --- a/common/src/test/org/apache/hadoop/hive/conf/TestSystemVariables.java +++ b/common/src/test/org/apache/hadoop/hive/conf/TestSystemVariables.java @@ -31,7 +31,7 @@ public class TestSystemVariables { public static final String SYSTEM = "system"; private String makeVarName(String prefix, String value) { - return String.format("${%s:%s}", prefix, value); + return "${%s:%s}".formatted(prefix, value); } @Test diff --git a/hcatalog/webhcat/svr/pom.xml b/hcatalog/webhcat/svr/pom.xml index 32d20d9463f9..4eeec6957309 100644 --- a/hcatalog/webhcat/svr/pom.xml +++ b/hcatalog/webhcat/svr/pom.xml @@ -243,51 +243,62 @@ true - - - org.apache.maven.plugins - maven-javadoc-plugin - - - resourcesdoc.xml - - javadoc - - compile - - ${project.build.sourceEncoding} - true - public - com.sun.jersey.wadl.resourcedoc.ResourceDoclet - - - com.sun.jersey.contribs - wadl-resourcedoc-doclet - ${wadl-resourcedoc-doclet.version} - - - - com.sun.jersey - jersey-server - ${jersey.version} - - - xerces - xercesImpl - ${xerces.version} - - - - -output ${project.build.outputDirectory}/resourcedoc.xml - - false - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packaging/pom.xml b/packaging/pom.xml index 6a1f6fbe516b..a86dec574a2b 100644 --- a/packaging/pom.xml +++ b/packaging/pom.xml @@ -172,6 +172,7 @@ \Qhttps://www.eclipse.org/org/documents/epl-v10.php\E \Qhttp://www.eclipse.org/org/documents/epl-v10.php\E + \Qhttps://www.eclipse.org/org/documents/edl-v10.php\E https?://(www\.)?opensource\.org/licenses/mit(-license.php)? diff --git a/pom.xml b/pom.xml index 852fb234b781..e41db68edc4d 100644 --- a/pom.xml +++ b/pom.xml @@ -65,8 +65,8 @@ 4.1.0-SNAPSHOT 4.1.0 - 1.8 - 1.8 + 17 + 17 false ${settings.localRepository} . diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml index 8367ad533d5b..83671cd43fe1 100644 --- a/standalone-metastore/metastore-server/pom.xml +++ b/standalone-metastore/metastore-server/pom.xml @@ -46,6 +46,10 @@ org.apache.orc orc-core + + org.apache.hadoop + hadoop-client-api + org.apache.hadoop hadoop-common @@ -272,18 +276,22 @@ org.datanucleus datanucleus-api-jdo + 6.0.0-release org.datanucleus datanucleus-core + 6.0.0-release org.datanucleus datanucleus-rdbms + 6.0.0-release org.datanucleus javax.jdo + 3.2.0-release org.skyscreamer @@ -550,6 +558,16 @@ exec-maven-plugin ${maven.exec.plugin.version} + + org.apache.maven.plugins + maven-compiler-plugin + + + --add-exports + jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED + + + @@ -719,7 +737,7 @@ org.datanucleus datanucleus-maven-plugin - 5.2.1 + 6.0.0-release JDO false diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlInsertPart.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlInsertPart.java index ba205ebe705b..8e93f9c80422 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlInsertPart.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlInsertPart.java @@ -44,6 +44,7 @@ import org.datanucleus.api.jdo.JDOPersistenceManager; import org.datanucleus.identity.DatastoreId; import org.datanucleus.metadata.AbstractClassMetaData; +import org.datanucleus.metadata.AbstractMemberMetaData; import org.datanucleus.metadata.IdentityType; /** @@ -71,7 +72,7 @@ private Long getDataStoreId(Class modelClass) throws MetaException { ExecutionContext ec = ((JDOPersistenceManager) pm).getExecutionContext(); AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForClass(modelClass, ec.getClassLoaderResolver()); if (cmd.getIdentityType() == IdentityType.DATASTORE) { - return (Long) ec.getStoreManager().getValueGenerationStrategyValue(ec, cmd, -1); + return (Long) ec.getStoreManager().getValueGenerationStrategyValue(ec, cmd, null); } else { throw new MetaException("Identity type is not datastore."); } diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlUpdatePart.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlUpdatePart.java index 4059d5df3845..6c9bfb38a08c 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlUpdatePart.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/DirectSqlUpdatePart.java @@ -1095,7 +1095,7 @@ private Long getDataStoreId(Class modelClass) throws MetaException { ExecutionContext ec = ((JDOPersistenceManager) pm).getExecutionContext(); AbstractClassMetaData cmd = ec.getMetaDataManager().getMetaDataForClass(modelClass, ec.getClassLoaderResolver()); if (cmd.getIdentityType() == IdentityType.DATASTORE) { - return (Long) ec.getStoreManager().getValueGenerationStrategyValue(ec, cmd, -1); + return (Long) ec.getStoreManager().getValueGenerationStrategyValue(ec, cmd, null); } else { throw new MetaException("Identity type is not datastore."); } diff --git a/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml b/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml index 7d62642f9259..07691caf1e25 100644 --- a/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml +++ b/standalone-metastore/metastore-tools/metastore-benchmarks/pom.xml @@ -188,33 +188,6 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - javac-with-errorprone - true - - - - - org.codehaus.plexus - plexus-compiler-javac-errorprone - ${javac.errorprone.version} - - - com.google.errorprone - error_prone_core - ${errorprone.core.version} - - - - - diff --git a/standalone-metastore/metastore-tools/tools-common/pom.xml b/standalone-metastore/metastore-tools/tools-common/pom.xml index f9919757c9c3..8ec18a1c3364 100644 --- a/standalone-metastore/metastore-tools/tools-common/pom.xml +++ b/standalone-metastore/metastore-tools/tools-common/pom.xml @@ -66,29 +66,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - - javac-with-errorprone - true - - - - - org.codehaus.plexus - plexus-compiler-javac-errorprone - ${javac.errorprone.version} - - - com.google.errorprone - error_prone_core - ${errorprone.core.version} - - - org.apache.maven.plugins maven-surefire-plugin diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml index c604d5020cfb..d83433d7e171 100644 --- a/standalone-metastore/pom.xml +++ b/standalone-metastore/pom.xml @@ -37,8 +37,9 @@ UTF-8 UTF-8 - 1.8 - 1.8 + 17 + 17 + 17 false 2.7.10 ${settings.localRepository} diff --git a/storage-api/pom.xml b/storage-api/pom.xml index 0c955c425053..48606f3c29d4 100644 --- a/storage-api/pom.xml +++ b/storage-api/pom.xml @@ -26,8 +26,8 @@ Hive Storage API 2008 - 1.8 - 1.8 + 17 + 17 1.1.3 22.0 3.3.6 From 6b62b3d2ea192816ecba81869cb522aebc0c3248 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Mon, 22 Jan 2024 09:30:46 +0530 Subject: [PATCH 02/62] fix indentation --- hcatalog/webhcat/svr/pom.xml | 114 +++++++++++++++++------------------ 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/hcatalog/webhcat/svr/pom.xml b/hcatalog/webhcat/svr/pom.xml index 4eeec6957309..d8801f21ba7a 100644 --- a/hcatalog/webhcat/svr/pom.xml +++ b/hcatalog/webhcat/svr/pom.xml @@ -243,62 +243,62 @@ true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From e47a2fc243cc7375074703de0c53824f5e36ecf1 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Mon, 22 Jan 2024 15:26:02 +0530 Subject: [PATCH 03/62] sw java 17 for hive build --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 5c83002b0730..ccc7eeea2b15 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -93,6 +93,7 @@ set -x export USER="`whoami`" export MAVEN_OPTS="-Xmx4G" export -n HIVE_CONF_DIR +sw java 17 cp $SETTINGS .git/settings.xml OPTS=" -s $PWD/.git/settings.xml -B -Dtest.groups= " OPTS+=" -Pitests,qsplits,dist,iceberg" From 50c2e7448a7ba7f9cf09c507e87c4c424183ffcf Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 24 Jan 2024 07:03:53 +0530 Subject: [PATCH 04/62] source jdk 17 shell --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ccc7eeea2b15..365843fed3cb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -93,7 +93,7 @@ set -x export USER="`whoami`" export MAVEN_OPTS="-Xmx4G" export -n HIVE_CONF_DIR -sw java 17 +sw java 17 && . /etc/profile.d/java.sh cp $SETTINGS .git/settings.xml OPTS=" -s $PWD/.git/settings.xml -B -Dtest.groups= " OPTS+=" -Pitests,qsplits,dist,iceberg" From 3de8c26b15eed1e086eea5275549b744c9a2680c Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 24 Jan 2024 10:02:56 +0530 Subject: [PATCH 05/62] Disable spotbugs --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 365843fed3cb..bc5d05e7aa59 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -262,7 +262,7 @@ if [ $n != 0 ]; then exit 1 fi ''' - buildHive("-Pspotbugs -pl " + spotbugsProjects.join(",") + " -am test-compile com.github.spotbugs:spotbugs-maven-plugin:4.0.0:check") +// buildHive("-Pspotbugs -pl " + spotbugsProjects.join(",") + " -am test-compile com.github.spotbugs:spotbugs-maven-plugin:4.0.0:check") } stage('Compile') { buildHive("install -Dtest=noMatches") From 4a203c102dba5855a7098c4337153fe2565cd41b Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 24 Jan 2024 12:08:32 +0530 Subject: [PATCH 06/62] remove auto remove imports --- iceberg/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/iceberg/pom.xml b/iceberg/pom.xml index eedbd7e56923..4dd1ba3b32d4 100644 --- a/iceberg/pom.xml +++ b/iceberg/pom.xml @@ -255,7 +255,6 @@ ${validate.skip} - ,\# From 2e9962b1cf27fec23ff597ae84d675cb8cdb0ef1 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 27 Mar 2024 15:17:49 +0530 Subject: [PATCH 07/62] Add-opens for hadoop client opts --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index bc5d05e7aa59..edac4894a52c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -298,6 +298,7 @@ echo 127.0.0.1 dev_$dbType | sudo tee -a /etc/hosts sw hive-dev $PWD export DOCKER_NETWORK=host export DBNAME=metastore +export HADOOP_CLIENT_OPTS="--add-opens java.base/java.net=ALL-UNNAMED" reinit_metastore $dbType time docker rm -f dev_$dbType || true ''' From 399d31aeb3cde3131e5c87ef504b67ce625f6ebf Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Thu, 28 Mar 2024 12:53:18 +0530 Subject: [PATCH 08/62] Add opens for hive build test --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index edac4894a52c..bfe6613ff3ea 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -91,7 +91,7 @@ def buildHive(args) { set -x . /etc/profile.d/confs.sh export USER="`whoami`" -export MAVEN_OPTS="-Xmx4G" +export MAVEN_OPTS="-Xmx4G --add-opens java.base/java.net=ALL-UNNAMED" export -n HIVE_CONF_DIR sw java 17 && . /etc/profile.d/java.sh cp $SETTINGS .git/settings.xml From cfbd890baf4725a1861d8269b848be77693a02dc Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Tue, 2 Apr 2024 12:20:29 +0530 Subject: [PATCH 09/62] Add jvm args --- Jenkinsfile | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index bfe6613ff3ea..edac4894a52c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -91,7 +91,7 @@ def buildHive(args) { set -x . /etc/profile.d/confs.sh export USER="`whoami`" -export MAVEN_OPTS="-Xmx4G --add-opens java.base/java.net=ALL-UNNAMED" +export MAVEN_OPTS="-Xmx4G" export -n HIVE_CONF_DIR sw java 17 && . /etc/profile.d/java.sh cp $SETTINGS .git/settings.xml diff --git a/pom.xml b/pom.xml index e41db68edc4d..9d810558aa9d 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.0b3 - -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 + -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED 2.17 3.4.0 2.10 From f4554d4b725930fa0d1d9d6718c5a2bff66d5b71 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 3 Apr 2024 10:58:34 +0530 Subject: [PATCH 10/62] Add jvm args for lang --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9d810558aa9d..403b6ca67751 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.0b3 - -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED + -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED 2.17 3.4.0 2.10 From ee215031db7511bc598bcc347bdd6bab019f16b7 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 3 Apr 2024 15:54:59 +0530 Subject: [PATCH 11/62] Add jvm args for nio --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 403b6ca67751..a5882505b415 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.0b3 - -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED + -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED 2.17 3.4.0 2.10 From 2c9465b38c759f53fa4cd4a2395c25f54ee0e08a Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Wed, 3 Apr 2024 19:13:32 +0530 Subject: [PATCH 12/62] Add jvm args for util.concurrent.atomic --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a5882505b415..e70d4ee0b037 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.0b3 - -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED + -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 2.17 3.4.0 2.10 From c4546dff6819065a3553ce61aaecd996678518c8 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Thu, 4 Apr 2024 09:18:54 +0530 Subject: [PATCH 13/62] Add jvm args for util.regex --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e70d4ee0b037..444766b3fecc 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,7 @@ 1.0b3 - -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED + -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED 2.17 3.4.0 2.10 From c68f9830c6f3931fada7e063b3a57662a38718bb Mon Sep 17 00:00:00 2001 From: kokila Date: Fri, 5 Apr 2024 10:50:03 +0530 Subject: [PATCH 14/62] Jdk17 Timestamp behaviour changes --- .../hive/ql/udf/generic/TestGenericUDFDateFormatEvaluate.csv | 2 +- .../ql/udf/generic/TestGenericUDFFromUnixTimeEvaluate.csv | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormatEvaluate.csv b/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormatEvaluate.csv index 401e1ef7dec5..afd9dd6d22d3 100644 --- a/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormatEvaluate.csv +++ b/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormatEvaluate.csv @@ -15,7 +15,7 @@ Input datetime;Input pattern;Local timezone;Formatter type;Expected output 1800-01-01 00:00:00;yyyy-MM-dd HH:mm:ss;Asia/Kolkata;SIMPLE;1799-12-31 23:36:32 Jul 9 2023;MMM dd yyyy;Etc/GMT;DATETIME;null Jul 9 2023;MMM dd yyyy;Etc/GMT;SIMPLE;null -2023-07-21;DD;Etc/GMT;DATETIME;null +2023-07-21;DD;Etc/GMT;DATETIME;202 2023-07-21;DD;Etc/GMT;SIMPLE;202 2023-07-21;DDD;Etc/GMT;DATETIME;202 2023-07-21;DDD;Etc/GMT;SIMPLE;202 diff --git a/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUnixTimeEvaluate.csv b/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUnixTimeEvaluate.csv index 8198c33eee6b..3cb7bb7f606e 100644 --- a/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUnixTimeEvaluate.csv +++ b/ql/src/test/resources/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFFromUnixTimeEvaluate.csv @@ -22,7 +22,7 @@ Jul 09 2023;MMM dd yyyy;Etc/GMT;DATETIME;1688860800 Jul 09 2023;MMM dd yyyy;Etc/GMT;SIMPLE;1688860800 Jul 21 2023;MMM dd yyyy;Etc/GMT;DATETIME;1689897600 Jul 21 2023;MMM dd yyyy;Etc/GMT;SIMPLE;1689897600 -Field DayOfYear cannot be printed as the value 202 exceeds the maximum print width of 2;YYYY-MM-DD;Etc/GMT;DATETIME;1689897600 +2023-07-202;YYYY-MM-DD;Etc/GMT;DATETIME;1689897600 2023-07-202;YYYY-MM-DD;Etc/GMT;SIMPLE;1689897600 Jul 21 2023 09:13;MMM dd yyyy HH:mm;Etc/GMT;DATETIME;1689930780 Jul 21 2023 09:13;MMM dd yyyy HH:mm;Etc/GMT;SIMPLE;1689930780 @@ -32,7 +32,7 @@ Jul 21 2023 9:13;MMM dd yyyy H:mm;Etc/GMT;SIMPLE;1689930780 2023-07-21 09:13;yyyy-MM-dd HH:mm;Etc/GMT;SIMPLE;1689930780 2023-07-21 9:13;yyyy-MM-dd H:mm;Etc/GMT;DATETIME;1689930780 2023-07-21 9:13;yyyy-MM-dd H:mm;Etc/GMT;SIMPLE;1689930780 -Field MilliOfDay cannot be printed as the value 33180000 exceeds the maximum print width of 2;yyyy-MM-dd HH:mmAA;Etc/GMT;DATETIME;1689930780 +2023-07-21 09:1333180000;yyyy-MM-dd HH:mmAA;Etc/GMT;DATETIME;1689930780 Illegal pattern character 'A';yyyy-MM-dd HH:mmAA;Etc/GMT;SIMPLE;1689930780 Too many pattern letters: a;yyyy-MM-dd HH:mmaa;Etc/GMT;DATETIME;1689930780 2023-07-21 09:13AM;yyyy-MM-dd HH:mmaa;Etc/GMT;SIMPLE;1689930780 From 1b6e52740559c6cdf6fd965cf884b147a54315d1 Mon Sep 17 00:00:00 2001 From: akshat0395 Date: Sat, 6 Apr 2024 13:52:50 +0530 Subject: [PATCH 15/62] Upgrade mockito for jdk 17 --- .../hive/common/util/ReflectionUtil.java | 10 +++++++++ .../hive/druid/serde/TestDruidSerDe.java | 7 +++---- .../compactor/TestCleanerWithSecureDFS.java | 5 ++--- .../hive/ql/txn/compactor/TestCompactor.java | 4 ++-- .../txn/compactor/TestCrudCompactorOnTez.java | 6 +++--- .../TestThriftHttpCLIServiceFeatures.java | 6 +++--- .../hive/jdbc/TestHiveBaseResultSet.java | 8 +++---- .../hive/llap/AsyncResponseHandlerTest.java | 2 +- .../hive/llap/daemon/impl/TestLlapDaemon.java | 21 ++++++++++++++----- pom.xml | 4 ++-- 10 files changed, 46 insertions(+), 27 deletions(-) diff --git a/common/src/java/org/apache/hive/common/util/ReflectionUtil.java b/common/src/java/org/apache/hive/common/util/ReflectionUtil.java index 481f26d7101b..3163a29b654a 100644 --- a/common/src/java/org/apache/hive/common/util/ReflectionUtil.java +++ b/common/src/java/org/apache/hive/common/util/ReflectionUtil.java @@ -137,6 +137,16 @@ public static void setField(Object object, String field, Object value) { } } + public static void setField(Object object, Field fld, Object value) { + try { + fld.setAccessible(true); + fld.set(object, value); + } catch (IllegalAccessException e) { + String fieldName = null == fld ? "n/a" : fld.getName(); + throw new RuntimeException("Failed to set " + fieldName + " of object", e); + } + } + /** * Sets a declared field in a given object. It finds the field, even if it is declared in a super class. * @param object target instance diff --git a/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java b/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java index 16dfdc2e6265..172caf77a6f2 100644 --- a/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java +++ b/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java @@ -19,7 +19,6 @@ import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyObject; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -86,7 +85,7 @@ import org.apache.druid.query.topn.TopNResultValue; import org.junit.rules.ExpectedException; -/** +/**Z * Basic tests for Druid SerDe. The examples are taken from Druid 0.9.1.1 * documentation. */ @@ -664,7 +663,7 @@ private void deserializeQueryResults(DruidSerDe serDe, HttpClient httpClient = mock(HttpClient.class); SettableFuture futureResult = SettableFuture.create(); futureResult.set(new ByteArrayInputStream(resultString)); - when(httpClient.go(anyObject(), any(HttpResponseHandler.class))).thenReturn(futureResult); + when(httpClient.go(any(), any(HttpResponseHandler.class))).thenReturn(futureResult); DruidQueryRecordReader reader = DruidQueryBasedInputFormat.getDruidQueryReader(queryType); final HiveDruidSplit split = new HiveDruidSplit(jsonQuery, new Path("empty"), new String[]{"testing_host"}); @@ -693,7 +692,7 @@ private void deserializeQueryResults(DruidSerDe serDe, // Check mapreduce path futureResult = SettableFuture.create(); futureResult.set(new ByteArrayInputStream(resultString)); - when(httpClient.go(anyObject(), any(HttpResponseHandler.class))).thenReturn(futureResult); + when(httpClient.go(any(), any(HttpResponseHandler.class))).thenReturn(futureResult); reader = DruidQueryBasedInputFormat.getDruidQueryReader(queryType); reader.initialize(split, DruidStorageHandlerUtils.JSON_MAPPER, DruidStorageHandlerUtils.SMILE_MAPPER, httpClient, conf); diff --git a/itests/hive-minikdc/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCleanerWithSecureDFS.java b/itests/hive-minikdc/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCleanerWithSecureDFS.java index ecf8472ea994..2667a83d43dc 100644 --- a/itests/hive-minikdc/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCleanerWithSecureDFS.java +++ b/itests/hive-minikdc/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCleanerWithSecureDFS.java @@ -32,8 +32,7 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; -import org.mockito.internal.util.reflection.FieldSetter; - +import org.apache.hive.common.util.ReflectionUtil; import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; @@ -163,7 +162,7 @@ public void testLeakAfterHistoryException() throws Exception { } cleaner.setConf(cleanerConf); cleaner.init(new AtomicBoolean(true)); - FieldSetter.setField(cleaner, MetaStoreCompactorThread.class.getDeclaredField("txnHandler"), txnHandler); + ReflectionUtil.setField(cleaner, MetaStoreCompactorThread.class.getDeclaredField("txnHandler"), txnHandler); Runtime.getRuntime().gc(); long startMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); cleaner.run(); diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java index afe91493d029..e7b8594af9f1 100644 --- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java +++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCompactor.java @@ -62,7 +62,7 @@ import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.FieldSetter; +import org.apache.hive.common.util.ReflectionUtil; import java.util.ArrayList; import java.util.Arrays; @@ -150,7 +150,7 @@ public void testHeartbeatShutdownOnFailedCompaction() throws Exception { Worker worker = Mockito.spy(new Worker()); worker.setConf(conf); worker.init(new AtomicBoolean(true)); - FieldSetter.setField(worker, RemoteCompactorThread.class.getDeclaredField("msc"), mockedClient); + ReflectionUtil.setField(worker, RemoteCompactorThread.class.getDeclaredField("msc"), mockedClient); worker.run(); diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCrudCompactorOnTez.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCrudCompactorOnTez.java index 148a7cb32255..c9f0504f7a78 100644 --- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCrudCompactorOnTez.java +++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/txn/compactor/TestCrudCompactorOnTez.java @@ -80,7 +80,7 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.FieldSetter; +import org.apache.hive.common.util.ReflectionUtil; import static org.apache.hadoop.hive.ql.TxnCommandsBaseForTests.runWorker; import static org.apache.hadoop.hive.ql.txn.compactor.TestCompactor.execSelectAndDumpData; @@ -731,7 +731,7 @@ public void testMinorCompactionShouldBeRefusedOnTablesWithOriginalFiles() throws Initiator initiator = new Initiator(); initiator.setConf(conf); initiator.init(new AtomicBoolean(true)); - FieldSetter.setField(initiator, MetaStoreCompactorThread.class.getDeclaredField("txnHandler"), mockedHandler); + ReflectionUtil.setField(initiator, MetaStoreCompactorThread.class.getDeclaredField("txnHandler"), mockedHandler); //Run initiator and capture compaction requests initiator.run(); @@ -800,7 +800,7 @@ public void testMinorCompactionShouldBeRefusedOnTablesWithRawData() throws Excep Initiator initiator = new Initiator(); initiator.setConf(conf); initiator.init(new AtomicBoolean(true)); - FieldSetter.setField(initiator, MetaStoreCompactorThread.class.getDeclaredField("txnHandler"), mockedHandler); + ReflectionUtil.setField(initiator, MetaStoreCompactorThread.class.getDeclaredField("txnHandler"), mockedHandler); //Run initiator and capture compaction requests initiator.run(); diff --git a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java index f04db3635f31..c60c65563385 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java @@ -67,7 +67,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.mockito.ArgumentCaptor; -import org.mockito.Matchers; +import static org.mockito.ArgumentMatchers.anyList; import org.mockito.Mockito; import com.google.common.base.Joiner; @@ -363,8 +363,8 @@ private void verifyForwardedHeaders(ArrayList headerIPs, String cmd) thr .forClass(HiveAuthzContext.class); verify(mockedAuthorizer).checkPrivileges(any(HiveOperationType.class), - Matchers.anyListOf(HivePrivilegeObject.class), - Matchers.anyListOf(HivePrivilegeObject.class), contextCapturer.capture()); + anyList(), + anyList(), contextCapturer.capture()); HiveAuthzContext context = contextCapturer.getValue(); System.err.println("Forwarded IP Addresses " + context.getForwardedAddresses()); diff --git a/jdbc/src/test/org/apache/hive/jdbc/TestHiveBaseResultSet.java b/jdbc/src/test/org/apache/hive/jdbc/TestHiveBaseResultSet.java index bca26f336f30..53441990cd8f 100644 --- a/jdbc/src/test/org/apache/hive/jdbc/TestHiveBaseResultSet.java +++ b/jdbc/src/test/org/apache/hive/jdbc/TestHiveBaseResultSet.java @@ -32,7 +32,7 @@ import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; -import org.mockito.internal.util.reflection.FieldSetter; +import org.apache.hive.common.util.ReflectionUtil; /** * Test suite for {@link HiveBaseResultSet} class. @@ -259,7 +259,7 @@ public void testFindColumnUnqualified() throws Exception { resultSet.normalizedColumnNames = Arrays.asList("one", "two", "three"); Field executorField = HiveBaseResultSet.class.getDeclaredField("columnNameIndexCache"); - FieldSetter.setField(resultSet, executorField, new HashMap<>()); + ReflectionUtil.setField(resultSet, executorField, new HashMap<>()); when(resultSet.getSchema()).thenReturn(schema); when(resultSet.findColumn("one")).thenCallRealMethod(); @@ -290,7 +290,7 @@ public void testFindColumnQualified() throws Exception { resultSet.normalizedColumnNames = Arrays.asList("table.one", "table.two", "table.three"); Field executorField = HiveBaseResultSet.class.getDeclaredField("columnNameIndexCache"); - FieldSetter.setField(resultSet, executorField, new HashMap<>()); + ReflectionUtil.setField(resultSet, executorField, new HashMap<>()); when(resultSet.getSchema()).thenReturn(schema); when(resultSet.findColumn("one")).thenCallRealMethod(); @@ -322,7 +322,7 @@ public void testFindColumnUnknownColumn() throws Exception { resultSet.normalizedColumnNames = Arrays.asList("table.one"); Field executorField = HiveBaseResultSet.class.getDeclaredField("columnNameIndexCache"); - FieldSetter.setField(resultSet, executorField, new HashMap<>()); + ReflectionUtil.setField(resultSet, executorField, new HashMap<>()); when(resultSet.getSchema()).thenReturn(schema); when(resultSet.findColumn("zero")).thenCallRealMethod(); diff --git a/llap-common/src/test/org/apache/hadoop/hive/llap/AsyncResponseHandlerTest.java b/llap-common/src/test/org/apache/hadoop/hive/llap/AsyncResponseHandlerTest.java index 75c68d98132a..e639f31efbe9 100644 --- a/llap-common/src/test/org/apache/hadoop/hive/llap/AsyncResponseHandlerTest.java +++ b/llap-common/src/test/org/apache/hadoop/hive/llap/AsyncResponseHandlerTest.java @@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit; import static java.lang.Thread.sleep; -import static org.mockito.Matchers.any; +import static org.mockito.Mockito.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; diff --git a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java index 95c71df8f2a6..28c275bafdb6 100644 --- a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java +++ b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java @@ -31,7 +31,6 @@ import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; -import org.mockito.internal.util.reflection.Fields; import org.mockito.internal.util.reflection.InstanceField; import java.io.File; @@ -44,6 +43,8 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.StreamSupport; +import java.lang.reflect.Field; +import java.util.ArrayList; import static java.lang.Integer.parseInt; import static org.junit.Assert.assertEquals; @@ -60,6 +61,18 @@ public class TestLlapDaemon { MetricsUtils.METRICS_PROCESS_NAME }; + private static List allDeclaredFieldsOf(Object testInstance) { + List result = new ArrayList<>(); + for (Class clazz = testInstance.getClass(); + clazz != Object.class; + clazz = clazz.getSuperclass()) { + for (Field field : clazz.getDeclaredFields()) { + result.add(new InstanceField(field, testInstance)); + } + } + return result; + } + public static final String TEST_LOCAL_DIR = new File(System.getProperty("java.io.tmpdir") + File.separator + TestLlapDaemon.class.getCanonicalName() + "-" + System.currentTimeMillis() @@ -179,10 +192,8 @@ public void testUpdateRegistration() throws IOException { } static void trySetMock(Object o, Class clazz, T mock) { - List instanceFields = Fields - .allDeclaredFieldsOf(o) - .filter(instanceField -> !clazz.isAssignableFrom(instanceField.jdkField().getType())) - .instanceFields(); + List instanceFields = allDeclaredFieldsOf(o).stream() + .filter(instanceField -> !clazz.isAssignableFrom(instanceField.jdkField().getType())).toList(); if (instanceFields.size() != 1) { throw new RuntimeException("Mocking is only supported, if only one field is assignable from the given class."); } diff --git a/pom.xml b/pom.xml index 444766b3fecc..22f907da82cf 100644 --- a/pom.xml +++ b/pom.xml @@ -183,8 +183,8 @@ 21.3.0.0 5.9 1.9.4 - 3.4.4 - 4.11.0 + 5.0.0 + 5.0.0 2.0.0-M5 4.1.77.Final 3.10.5.Final From c7232881daed2713b0024d15a2589d33ce129140 Mon Sep 17 00:00:00 2001 From: kokila Date: Wed, 24 Apr 2024 01:05:40 +0530 Subject: [PATCH 16/62] Hadoop shaded classpath issue --- druid-handler/pom.xml | 4 ++++ hplsql/pom.xml | 6 ++++++ iceberg/iceberg-handler/pom.xml | 6 ++++++ kudu-handler/pom.xml | 6 ++++++ standalone-metastore/metastore-common/pom.xml | 4 ++++ streaming/pom.xml | 6 ++++++ 6 files changed, 32 insertions(+) diff --git a/druid-handler/pom.xml b/druid-handler/pom.xml index 0c0e2f96e7ad..3b714170dd13 100644 --- a/druid-handler/pom.xml +++ b/druid-handler/pom.xml @@ -68,6 +68,10 @@ com.fasterxml.jackson.core jackson-databind + + org.apache.hadoop + hadoop-client-api + diff --git a/hplsql/pom.xml b/hplsql/pom.xml index c080090b6495..3aea09791666 100644 --- a/hplsql/pom.xml +++ b/hplsql/pom.xml @@ -44,6 +44,12 @@ org.apache.hive hive-exec ${project.version} + + + org.apache.hadoop + hadoop-client-api + + org.antlr diff --git a/iceberg/iceberg-handler/pom.xml b/iceberg/iceberg-handler/pom.xml index 17f0ace1e770..7b566fc22b13 100644 --- a/iceberg/iceberg-handler/pom.xml +++ b/iceberg/iceberg-handler/pom.xml @@ -41,6 +41,12 @@ org.apache.hive hive-exec + + + org.apache.hadoop + hadoop-client-api + + org.apache.hive diff --git a/kudu-handler/pom.xml b/kudu-handler/pom.xml index c681762fce92..e32c9cd6713c 100644 --- a/kudu-handler/pom.xml +++ b/kudu-handler/pom.xml @@ -41,6 +41,12 @@ hive-exec ${project.version} provided + + + org.apache.hadoop + hadoop-client-api + + diff --git a/standalone-metastore/metastore-common/pom.xml b/standalone-metastore/metastore-common/pom.xml index 8ff828018ffd..4169f4e88268 100644 --- a/standalone-metastore/metastore-common/pom.xml +++ b/standalone-metastore/metastore-common/pom.xml @@ -66,6 +66,10 @@ io.netty * + + org.apache.hadoop + hadoop-client-api + diff --git a/streaming/pom.xml b/streaming/pom.xml index 399ee9f56c90..e1ed2e324b1a 100644 --- a/streaming/pom.xml +++ b/streaming/pom.xml @@ -43,6 +43,12 @@ org.apache.hive hive-exec ${project.version} + + + org.apache.hadoop + hadoop-client-api + + org.slf4j From 736bfd78e67ce9382c2edb032b9c2c7f8feb4063 Mon Sep 17 00:00:00 2001 From: kokila Date: Wed, 24 Apr 2024 01:07:28 +0530 Subject: [PATCH 17/62] antlr code too large problem. Move some of the alter statements to AlterClauseParser_g --- .../hadoop/hive/ql/parse/AlterClauseParser.g | 45 ++++++++++++++++++ .../apache/hadoop/hive/ql/parse/HiveParser.g | 47 ------------------- 2 files changed, 45 insertions(+), 47 deletions(-) diff --git a/parser/src/java/org/apache/hadoop/hive/ql/parse/AlterClauseParser.g b/parser/src/java/org/apache/hadoop/hive/ql/parse/AlterClauseParser.g index 65a35c2e0b7c..f9ca42fe986d 100644 --- a/parser/src/java/org/apache/hadoop/hive/ql/parse/AlterClauseParser.g +++ b/parser/src/java/org/apache/hadoop/hive/ql/parse/AlterClauseParser.g @@ -631,3 +631,48 @@ alterDataConnectorSuffixSetUrl -> ^(TOK_ALTERDATACONNECTOR_URL $dcName $newUri) ; +alterScheduledQueryStatement +@init { gParent.pushMsg("alter scheduled query statement", state); } +@after { gParent.popMsg(state); } + : KW_ALTER KW_SCHEDULED KW_QUERY name=identifier + mod=alterScheduledQueryChange + -> ^(TOK_ALTER_SCHEDULED_QUERY + $name + $mod + ) + ; + +alterScheduledQueryChange +@init { gParent.pushMsg("alter scheduled query change", state); } +@after { gParent.popMsg(state); } + : scheduleSpec + | executedAsSpec + | enableSpecification + | definedAsSpec + | KW_EXECUTE -> ^(TOK_EXECUTE) + ; + +alterColumnConstraint[CommonTree fkColName] +@init { gParent.pushMsg("alter column constraint", state); } +@after { gParent.popMsg(state); } + : ( alterForeignKeyConstraint[$fkColName] ) + | ( alterColConstraint ) + ; + +alterForeignKeyConstraint[CommonTree fkColName] +@init { gParent.pushMsg("alter column constraint", state); } +@after { gParent.popMsg(state); } + : (KW_CONSTRAINT constraintName=identifier)? KW_REFERENCES tabName=tableName LPAREN colName=columnName RPAREN constraintOptsAlter? + -> {$constraintName.tree != null}? + ^(TOK_FOREIGN_KEY ^(TOK_CONSTRAINT_NAME $constraintName) ^(TOK_TABCOLNAME {$fkColName}) $tabName ^(TOK_TABCOLNAME $colName) constraintOptsAlter?) + -> ^(TOK_FOREIGN_KEY ^(TOK_TABCOLNAME {$fkColName}) $tabName ^(TOK_TABCOLNAME $colName) constraintOptsAlter?) + ; + +alterColConstraint +@init { gParent.pushMsg("alter column constraint", state); } +@after { gParent.popMsg(state); } + : (KW_CONSTRAINT constraintName=identifier)? columnConstraintType constraintOptsAlter? + -> {$constraintName.tree != null}? + ^({$columnConstraintType.tree} ^(TOK_CONSTRAINT_NAME $constraintName) constraintOptsAlter?) + -> ^({$columnConstraintType.tree} constraintOptsAlter?) + ; diff --git a/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g b/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g index 745c437d41bb..506ecf5d983a 100644 --- a/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g +++ b/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g @@ -1733,28 +1733,6 @@ dropScheduledQueryStatement ) ; - -alterScheduledQueryStatement -@init { pushMsg("alter scheduled query statement", state); } -@after { popMsg(state); } - : KW_ALTER KW_SCHEDULED KW_QUERY name=identifier - mod=alterScheduledQueryChange - -> ^(TOK_ALTER_SCHEDULED_QUERY - $name - $mod - ) - ; - -alterScheduledQueryChange -@init { pushMsg("alter scheduled query change", state); } -@after { popMsg(state); } - : scheduleSpec - | executedAsSpec - | enableSpecification - | definedAsSpec - | KW_EXECUTE -> ^(TOK_EXECUTE) - ; - scheduleSpec @init { pushMsg("schedule specification", state); } @after { popMsg(state); } @@ -2345,31 +2323,6 @@ colConstraint -> ^({$columnConstraintType.tree} constraintOptsCreate?) ; -alterColumnConstraint[CommonTree fkColName] -@init { pushMsg("alter column constraint", state); } -@after { popMsg(state); } - : ( alterForeignKeyConstraint[$fkColName] ) - | ( alterColConstraint ) - ; - -alterForeignKeyConstraint[CommonTree fkColName] -@init { pushMsg("alter column constraint", state); } -@after { popMsg(state); } - : (KW_CONSTRAINT constraintName=identifier)? KW_REFERENCES tabName=tableName LPAREN colName=columnName RPAREN constraintOptsAlter? - -> {$constraintName.tree != null}? - ^(TOK_FOREIGN_KEY ^(TOK_CONSTRAINT_NAME $constraintName) ^(TOK_TABCOLNAME {$fkColName}) $tabName ^(TOK_TABCOLNAME $colName) constraintOptsAlter?) - -> ^(TOK_FOREIGN_KEY ^(TOK_TABCOLNAME {$fkColName}) $tabName ^(TOK_TABCOLNAME $colName) constraintOptsAlter?) - ; - -alterColConstraint -@init { pushMsg("alter column constraint", state); } -@after { popMsg(state); } - : (KW_CONSTRAINT constraintName=identifier)? columnConstraintType constraintOptsAlter? - -> {$constraintName.tree != null}? - ^({$columnConstraintType.tree} ^(TOK_CONSTRAINT_NAME $constraintName) constraintOptsAlter?) - -> ^({$columnConstraintType.tree} constraintOptsAlter?) - ; - columnConstraintType : KW_NOT KW_NULL -> TOK_NOT_NULL | KW_DEFAULT defaultVal-> ^(TOK_DEFAULT_VALUE defaultVal) From 4ba8809b21c4990b459cd21822275c7d5e4f7395 Mon Sep 17 00:00:00 2001 From: tanishq-chugh Date: Wed, 24 Apr 2024 14:30:31 +0530 Subject: [PATCH 18/62] Javadoc issues fix --- .../apache/hadoop/hive/common/type/Date.java | 3 +- .../hadoop/hive/common/type/Decimal128.java | 2 +- .../hadoop/hive/common/type/Timestamp.java | 3 +- .../hive/common/util/HiveStringUtils.java | 2 +- .../hive/common/util/TimestampParser.java | 3 +- .../util/typedbytes/TypedBytesOutput.java | 2 +- .../apache/hadoop/hive/kafka/KafkaSerDe.java | 2 +- .../daemon/impl/PriorityBlockingDeque.java | 40 +++++++++---------- ql/pom.xml | 4 ++ .../org/apache/hadoop/hive/ql/io/RCFile.java | 6 +-- .../ql/optimizer/SemiJoinReductionMerge.java | 2 +- .../rules/CorrelateProjectExtractor.java | 2 +- .../FilterFlattenCorrelatedConditionRule.java | 2 +- .../generic/AbstractGenericUDAFResolver.java | 4 +- .../udf/generic/GenericUDAFParameterInfo.java | 34 ++++++++-------- .../ql/udf/generic/GenericUDAFResolver2.java | 14 +++---- .../SimpleGenericUDAFParameterInfo.java | 2 +- .../hive/serde2/ColumnProjectionUtils.java | 2 +- .../columnar/BytesRefArrayWritable.java | 8 ++-- .../serde2/columnar/BytesRefWritable.java | 14 +++---- .../hive/serde2/json/HiveJsonReader.java | 3 +- .../hadoop/hive/metastore/ColumnType.java | 2 +- .../hive/metastore/tools/BenchmarkSuite.java | 2 +- 23 files changed, 82 insertions(+), 76 deletions(-) diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Date.java b/common/src/java/org/apache/hadoop/hive/common/type/Date.java index bc4133877816..f4fe28468300 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/Date.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/Date.java @@ -42,7 +42,8 @@ /** * This is the internal type for Date. The full qualified input format of Date * is "uuuu-MM-dd". For example: "2021-02-11". - * + *
+ * * * * diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java b/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java index 7d4eaf7c460d..395c143baedb 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java @@ -168,7 +168,7 @@ public Decimal128(double val, short scale) { /** * Translates a {@code UnsignedInt128} unscaled value, an {@code int} scale, * and sign flag into a {@code Decimal128} . The value of the - * {@code Decimal128} is (unscaledVal × 10-scale). + * {@code Decimal128} is (unscaledVal × 10 -scale). * * @param unscaledVal * unscaled value of the {@code Decimal128}. diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java b/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java index 22b1ee2e8538..238d7bd984d1 100644 --- a/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java +++ b/common/src/java/org/apache/hadoop/hive/common/type/Timestamp.java @@ -44,7 +44,8 @@ * Timestamp is "uuuu-MM-dd HH:mm:ss[.SSS...]", where the time part is optional. * If time part is absent, a default '00:00:00.0' will be used. * - *
FieldFormat
+ *
+ * * * * diff --git a/common/src/java/org/apache/hive/common/util/HiveStringUtils.java b/common/src/java/org/apache/hive/common/util/HiveStringUtils.java index 2b34af78c183..d703f9f41f79 100644 --- a/common/src/java/org/apache/hive/common/util/HiveStringUtils.java +++ b/common/src/java/org/apache/hive/common/util/HiveStringUtils.java @@ -259,7 +259,7 @@ public static String uriToString(URI[] uris){ /** * @param str * The string array to be parsed into an URI array. - * @return null if str is null, else the URI array + * @return
null
if str is
null
, else the URI array * equivalent to str. * @throws IllegalArgumentException * If any string in str violates RFC 2396. diff --git a/common/src/java/org/apache/hive/common/util/TimestampParser.java b/common/src/java/org/apache/hive/common/util/TimestampParser.java index b028e41fc487..d94de4cea05a 100644 --- a/common/src/java/org/apache/hive/common/util/TimestampParser.java +++ b/common/src/java/org/apache/hive/common/util/TimestampParser.java @@ -54,7 +54,8 @@ * In addition to accepting format patterns, this parser provides support for * three pre-defined formats: * - *
FieldFormat
+ *
+ * * * * diff --git a/contrib/src/java/org/apache/hadoop/hive/contrib/util/typedbytes/TypedBytesOutput.java b/contrib/src/java/org/apache/hadoop/hive/contrib/util/typedbytes/TypedBytesOutput.java index 7f6f75603dfa..bde2a8104688 100644 --- a/contrib/src/java/org/apache/hadoop/hive/contrib/util/typedbytes/TypedBytesOutput.java +++ b/contrib/src/java/org/apache/hadoop/hive/contrib/util/typedbytes/TypedBytesOutput.java @@ -342,7 +342,7 @@ public void writeEndOfRecord() throws IOException { } /** - * Writes a NULL type marker to the output. + * Writes a
NULL
type marker to the output. * * @throws IOException */ diff --git a/kafka-handler/src/java/org/apache/hadoop/hive/kafka/KafkaSerDe.java b/kafka-handler/src/java/org/apache/hadoop/hive/kafka/KafkaSerDe.java index 718b56fd4686..16d4bc459ede 100644 --- a/kafka-handler/src/java/org/apache/hadoop/hive/kafka/KafkaSerDe.java +++ b/kafka-handler/src/java/org/apache/hadoop/hive/kafka/KafkaSerDe.java @@ -264,7 +264,7 @@ void deserializeKWritable(KafkaWritable kafkaWritable, Object[] rowBoat) throws /** * Returns a view of input object inspector list between: - * 0 inclusive and the specified toIndex, exclusive. + *
0
inclusive and the specified
toIndex
, exclusive. */ private static final class SubStructObjectInspector extends StructObjectInspector { diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/PriorityBlockingDeque.java b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/PriorityBlockingDeque.java index 63aaed8fdf8d..10c00c508336 100644 --- a/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/PriorityBlockingDeque.java +++ b/llap-server/src/java/org/apache/hadoop/hive/llap/daemon/impl/PriorityBlockingDeque.java @@ -83,7 +83,7 @@ public class PriorityBlockingDeque private Comparator comparator; /** - * Creates a PriorityBlockingDeque with a capacity of + * Creates a
PriorityBlockingDeque
with a capacity of * {@link Integer#MAX_VALUE}. */ public PriorityBlockingDeque() { @@ -91,10 +91,10 @@ public PriorityBlockingDeque() { } /** - * Creates a PriorityBlockingDeque with the given (fixed) capacity. + * Creates a
PriorityBlockingDeque
with the given (fixed) capacity. * * @param capacity the capacity of this deque - * @throws IllegalArgumentException if capacity is less than 1 + * @throws IllegalArgumentException if
capacity
is less than 1 */ public PriorityBlockingDeque(int capacity) { this(null, capacity); @@ -546,10 +546,10 @@ public E peek() { * Returns the number of additional elements that this deque can ideally * (in the absence of memory or resource constraints) accept without * blocking. This is always equal to the initial capacity of this deque - * less the current size of this deque. + * less the current
size
of this deque. *
* Note that you cannot always tell if an attempt to insert - * an element will succeed by inspecting remainingCapacity + * an element will succeed by inspecting
remainingCapacity
* because it may be the case that another thread is about to * insert or remove an element. */ @@ -637,16 +637,16 @@ public E pop() { /** * Removes the first occurrence of the specified element from this deque. * If the deque does not contain the element, it is unchanged. - * More formally, removes the first element e such that - * o.equals(e) (if such an element exists). - * Returns true if this deque contained the specified element + * More formally, removes the first element
e
such that + *
o.equals(e)
(if such an element exists). + * Returns
true
if this deque contained the specified element * (or equivalently, if this deque changed as a result of the call). *
* This method is equivalent to * {@link #removeFirstOccurrence(Object) removeFirstOccurrence}. * * @param o element to be removed from this deque, if present - * @return true if this deque changed as a result of the call + * @return
true
if this deque changed as a result of the call */ @Override public boolean remove(Object o) { @@ -669,12 +669,12 @@ public int size() { } /** - * Returns true if this deque contains the specified element. - * More formally, returns true if and only if this deque contains - * at least one element e such that o.equals(e). + * Returns
true
if this deque contains the specified element. + * More formally, returns
true
if and only if this deque contains + * at least one element
e
such that
o.equals(e)
. * * @param o object to be checked for containment in this deque - * @return true if this deque contains the specified element + * @return
true
if this deque contains the specified element */ @Override public boolean contains(Object o) { @@ -717,25 +717,23 @@ public Object[] toArray() { * is returned therein. Otherwise, a new array is allocated with the * runtime type of the specified array and the size of this deque. *
- *

If this deque fits in the specified array with room to spare + * If this deque fits in the specified array with room to spare * (i.e., the array has more elements than this deque), the element in * the array immediately following the end of the deque is set to - * null. - *

+ *
null
. *

Like the {@link #toArray()} method, this method acts as bridge between * array-based and collection-based APIs. Further, this method allows * precise control over the runtime type of the output array, and may, * under certain circumstances, be used to save allocation costs. *

- *

Suppose x is a deque known to contain only strings. + * Suppose

x
is a deque known to contain only strings. * The following code can be used to dump the deque into a newly - * allocated array of String: - *

+ * allocated array of
String
: *
    *     String[] y = x.toArray(new String[0]);
*
- * Note that toArray(new Object[0]) is identical in function to - * toArray(). + * Note that
toArray(new Object[0])
is identical in function to + *
toArray()
. * * @param a the array into which the elements of the deque are to * be stored, if it is big enough; otherwise, a new array of the diff --git a/ql/pom.xml b/ql/pom.xml index 597b4695d705..b0f8f45156ef 100644 --- a/ql/pom.xml +++ b/ql/pom.xml @@ -198,6 +198,10 @@ org.apache.commons commons-collections4 + + commons-collections + commons-collections + org.apache.commons commons-lang3 diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java b/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java index 90bd7339a71d..2786299fdc0f 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java @@ -72,7 +72,7 @@ * data of a row split, as the key part of a record, and all the data of a row * split as the value part. When writing, RCFile.Writer first holds records' * value bytes in memory, and determines a row split if the raw bytes size of - * buffered records overflow a given parameterWriter.columnsBufferSize, + * buffered records overflow a given parameter
Writer.columnsBufferSize
, * which can be set like: conf.setInt(COLUMNS_BUFFER_SIZE_CONF_STR, 4 * 1024 * 1024) . *

@@ -99,10 +99,10 @@ * The {@link Reader} is used to read and explain the bytes of RCFile. *

* - *

RCFile Formats

+ *

RCFile Formats

* * - * + * *
    *
  • version - 3 bytes of magic header RCF, followed by 1 byte of * actual version number (e.g. RCF1)
  • diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SemiJoinReductionMerge.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SemiJoinReductionMerge.java index d3764dcc2365..a96662abd7a6 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SemiJoinReductionMerge.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SemiJoinReductionMerge.java @@ -90,7 +90,7 @@ *

    * An example of the transformation on three single column semi join reducers is shown below. The plan is simplified for * presentation purposes. - *

    BEFORE:

    + *

    BEFORE:

    *
      *        / SEL[fname] - GB1 - RS1 - GB2 - RS2  \
      * SOURCE - SEL[lname] - GB1 - RS1 - GB2 - RS2  -> TS[Author] - FIL[in_bloom(fname) ^ in_bloom(lname) ^ in_bloom(age)]
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/CorrelateProjectExtractor.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/CorrelateProjectExtractor.java
    index a2af59999d08..e0b0b451ef92 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/CorrelateProjectExtractor.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/CorrelateProjectExtractor.java
    @@ -52,7 +52,7 @@
      * computation over the correlated variables, from the right side of a correlation
      * ({@link org.apache.calcite.rel.core.Correlate}) and places it on the left side.
      *
    - * 

    Plan before

    + *

    Plan before

    *
      * LogicalCorrelate(correlation=[$cor0], joinType=[left], requiredColumns=[{7}])
      *   LogicalTableScan(table=[[scott, EMP]])
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/FilterFlattenCorrelatedConditionRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/FilterFlattenCorrelatedConditionRule.java
    index ba78c8fd736b..ee93e5cee79e 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/FilterFlattenCorrelatedConditionRule.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/FilterFlattenCorrelatedConditionRule.java
    @@ -39,7 +39,7 @@
      * computation in a {@link org.apache.calcite.rel.core.Project} expression. An additional projection
      * may be added on top of the new filter to retain expression equivalence.
      *
    - * 

    Sub-plan before

    + *

    Sub-plan before

    *
      * LogicalProject($f0=[true])
      *   LogicalFilter(condition=[=($cor0.DEPTNO, +($7, 30))])
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java
    index d82e6e47ac30..bfb2bdb4f5d8 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java
    @@ -22,12 +22,12 @@
     
     /**
      * An abstract class to help facilitate existing implementations of
    - * GenericUDAFResolver to migrate towards the newly introduced
    + * 
    GenericUDAFResolver
    to migrate towards the newly introduced * interface {@link GenericUDAFResolver2}. This class provides a default * implementation of this new API and in turn calls * the existing API {@link GenericUDAFResolver#getEvaluator(TypeInfo[])} by * ignoring the extra parameter information available via the - * GenericUDAFParameterInfo interface. + *
    GenericUDAFParameterInfo
    interface. * */ @Deprecated diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java index 1afa1ebf007a..9dc0cdd328f2 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java @@ -23,24 +23,24 @@ import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo; /** - * A callback interface used in conjunction with GenericUDAFResolver2 + * A callback interface used in conjunction with
    GenericUDAFResolver2
    * interface that allows for a more extensible and flexible means of * discovering the parameter types provided for UDAF invocation. Apart from - * allowing the function implementation to discover the TypeInfo of + * allowing the function implementation to discover the
    TypeInfo
    of * any types provided in the invocation, this also allows the implementation - * to determine if the parameters were qualified using DISTINCT. If + * to determine if the parameters were qualified using
    DISTINCT
    . If * no parameters were specified explicitly, it allows the function * implementation to test if the invocation used the wildcard syntax - * such as FUNCTION(*). + * such as
    FUNCTION(*)
    . *

    * Note: The implementation of function does not have to handle the - * actual DISTINCT or wildcard implementation. This information is + * actual

    DISTINCT
    or wildcard implementation. This information is * provided only to allow the function implementation to accept or reject - * such invocations. For example - the implementation of COUNT UDAF - * requires that the DISTINCT qualifier be supplied when more than + * such invocations. For example - the implementation of
    COUNT
    UDAF + * requires that the
    DISTINCT
    qualifier be supplied when more than * one parameters are specified in the invocation. The actual filtering of - * data bound to parameter types for DISTINCT implementation is - * handled by the framework and not the COUNT UDAF implementation. + * data bound to parameter types for
    DISTINCT
    implementation is + * handled by the framework and not the
    COUNT
    UDAF implementation. */ @InterfaceAudience.Public @InterfaceStability.Stable @@ -60,30 +60,30 @@ public interface GenericUDAFParameterInfo { ObjectInspector[] getParameterObjectInspectors(); /** - * Returns true if the UDAF invocation was qualified with - * DISTINCT keyword. Note that this is provided for informational + * Returns
    true
    if the UDAF invocation was qualified with + *
    DISTINCT
    keyword. Note that this is provided for informational * purposes only and the function implementation is not expected to ensure * the distinct property for the parameter values. That is handled by the * framework. - * @return true if the UDAF invocation was qualified with - * DISTINCT keyword, false otherwise. + * @return
    true
    if the UDAF invocation was qualified with + *
    DISTINCT
    keyword,
    false
    otherwise. */ boolean isDistinct(); /** * The flag to indicate if the UDAF invocation was from the windowing function * call or not. - * @return true if the UDAF invocation was from the windowing function + * @return
    true
    if the UDAF invocation was from the windowing function * call. */ boolean isWindowing(); /** - * Returns true if the UDAF invocation was done via the wildcard - * syntax FUNCTION(*). Note that this is provided for informational + * Returns
    true
    if the UDAF invocation was done via the wildcard + * syntax
    FUNCTION(*)
    . Note that this is provided for informational * purposes only and the function implementation is not expected to ensure * the wildcard handling of the target relation. That is handled by the * framework. - * @return true if the UDAF invocation was done with a wildcard + * @return
    true
    if the UDAF invocation was done with a wildcard * instead of explicit parameter list. */ boolean isAllColumns(); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java index dc4eb4e5ddf6..7ea7c0c04654 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java @@ -21,21 +21,21 @@ import org.apache.hadoop.hive.ql.parse.SemanticException; /** - * This interface extends the GenericUDAFResolver interface and + * This interface extends the
    GenericUDAFResolver
    interface and * provides more flexibility in terms of discovering the parameter types * supplied to the UDAF. Implementations that extend this interface will * also have access to extra information such as the specification of the - * DISTINCT qualifier or the invocation with the special wildcard + *
    DISTINCT
    qualifier or the invocation with the special wildcard * character. *

    * Note: The implementation of function does not have to handle the - * actual DISTINCT or wildcard implementation. This information is + * actual

    DISTINCT
    or wildcard implementation. This information is * provided only to allow the function implementation to accept or reject - * such invocations. For example - the implementation of COUNT UDAF - * requires that the DISTINCT qualifier be supplied when more than + * such invocations. For example - the implementation of
    COUNT
    UDAF + * requires that the
    DISTINCT
    qualifier be supplied when more than * one parameters are specified in the invocation. The actual filtering of - * data bound to parameter types for DISTINCT implementation is - * handled by the framework and not the COUNT UDAF implementation. + * data bound to parameter types for
    DISTINCT
    implementation is + * handled by the framework and not the
    COUNT
    UDAF implementation. */ @Deprecated @SuppressWarnings("deprecation") diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/SimpleGenericUDAFParameterInfo.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/SimpleGenericUDAFParameterInfo.java index b0c75affa969..4d6cacfa5467 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/SimpleGenericUDAFParameterInfo.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/SimpleGenericUDAFParameterInfo.java @@ -22,7 +22,7 @@ import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils; /** - * A simple implementation of GenericUDAFParameterInfo. + * A simple implementation of
    GenericUDAFParameterInfo
    . * */ public class SimpleGenericUDAFParameterInfo implements GenericUDAFParameterInfo diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java index 5cd776a2e3d4..1c37b36bad33 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/ColumnProjectionUtils.java @@ -182,7 +182,7 @@ public static void appendReadColumns( /** * Returns an array of column ids(start from zero) which is set in the given - * parameter conf. + * parameter
    conf
    . */ public static List getReadColumnIDs(Configuration conf) { String skips = conf.get(READ_COLUMN_IDS_CONF_STR, READ_COLUMN_IDS_CONF_STR_DEFAULT); diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefArrayWritable.java b/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefArrayWritable.java index 2f9c3d36d303..c0981433414b 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefArrayWritable.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefArrayWritable.java @@ -28,13 +28,13 @@ import org.apache.hadoop.io.WritableFactory; /** - * BytesRefArrayWritable holds an array reference to BytesRefWritable, + *
    BytesRefArrayWritable
    holds an array reference to BytesRefWritable, * and is able to resize without recreating new array if not necessary. *

    * - * Each BytesRefArrayWritable holds instance has a valid field, - * which is the desired valid number of BytesRefWritable it holds. - * resetValid can reset the valid, but it will not care the underlying + * Each

    BytesRefArrayWritable holds
    instance has a valid field, + * which is the desired valid number of
    BytesRefWritable
    it holds. + *
    resetValid
    can reset the valid, but it will not care the underlying * BytesRefWritable. */ diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefWritable.java b/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefWritable.java index dd4007f7b174..ecbfe9fc7d87 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefWritable.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/columnar/BytesRefWritable.java @@ -28,7 +28,7 @@ import org.apache.hadoop.io.WritableFactory; /** - * BytesRefWritable referenced a section of byte array. It can be used + *
    BytesRefWritable
    referenced a section of byte array. It can be used * to avoid unnecessary byte copy. */ public class BytesRefWritable implements Writable, Comparable { @@ -50,7 +50,7 @@ public BytesRefWritable() { } /** - * Create a BytesRefWritable with length bytes. + * Create a BytesRefWritable with
    length
    bytes. */ public BytesRefWritable(int length) { assert length > 0; @@ -70,7 +70,7 @@ public BytesRefWritable(byte[] bytes) { /** * Create a BytesRefWritable referenced to one section of the given bytes. The - * section is determined by argument offset and len. + * section is determined by argument
    offset
    and
    len
    . */ public BytesRefWritable(byte[] data, int offset, int len) { bytes = data; @@ -80,10 +80,10 @@ public BytesRefWritable(byte[] data, int offset, int len) { /** * Create a BytesRefWritable referenced to one section of the given bytes. The - * argument lazyDecompressData refers to a LazyDecompressionCallback - * object. The arguments offset and len are referred to - * uncompressed bytes of lazyDecompressData. Use offset and - * len after uncompressing the data. + * argument
    lazyDecompressData
    refers to a LazyDecompressionCallback + * object. The arguments
    offset
    and
    len
    are referred to + * uncompressed bytes of
    lazyDecompressData
    . Use
    offset
    and + *
    len
    after uncompressing the data. */ public BytesRefWritable(LazyDecompressionCallback lazyDecompressData, int offset, int len) { diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/json/HiveJsonReader.java b/serde/src/java/org/apache/hadoop/hive/serde2/json/HiveJsonReader.java index 7ade47b6e5ac..37891d799a97 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/json/HiveJsonReader.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/json/HiveJsonReader.java @@ -73,7 +73,8 @@ * * Support types are:
    *
    - *
Formatter
+ *
+ * * * * diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ColumnType.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ColumnType.java index 3a4b6f5e9bf6..01de9945087a 100644 --- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ColumnType.java +++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ColumnType.java @@ -204,7 +204,7 @@ public class ColumnType { /** * Given a type string return the type name. For example, passing in the type string - * varchar(256) will return varchar. + *
varchar(256)
will return
varchar
. * @param typeString Type string * @return type name, guaranteed to be in lower case */ diff --git a/standalone-metastore/metastore-tools/tools-common/src/main/java/org/apache/hadoop/hive/metastore/tools/BenchmarkSuite.java b/standalone-metastore/metastore-tools/tools-common/src/main/java/org/apache/hadoop/hive/metastore/tools/BenchmarkSuite.java index d32e971eb267..f11551414278 100644 --- a/standalone-metastore/metastore-tools/tools-common/src/main/java/org/apache/hadoop/hive/metastore/tools/BenchmarkSuite.java +++ b/standalone-metastore/metastore-tools/tools-common/src/main/java/org/apache/hadoop/hive/metastore/tools/BenchmarkSuite.java @@ -47,7 +47,7 @@ * mean +/- margin * delta is removed from the result set. This helps remove random * outliers. * - *

Example

+ *

Example

* *
  *   StringBuilder sb = new StringBuilder();

From 276104e633a370358e1ffccdea70cae793053480 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Thu, 25 Apr 2024 02:23:17 +0530
Subject: [PATCH 19/62] javadoc classpath fix

---
 standalone-metastore/metastore-common/pom.xml |  3 +++
 .../hive/common/util/SuppressFBWarnings.java  | 20 +++++++++++++++++++
 standalone-metastore/metastore-server/pom.xml |  3 +++
 3 files changed, 26 insertions(+)
 create mode 100644 standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java

diff --git a/standalone-metastore/metastore-common/pom.xml b/standalone-metastore/metastore-common/pom.xml
index 4169f4e88268..b84e84eb35cf 100644
--- a/standalone-metastore/metastore-common/pom.xml
+++ b/standalone-metastore/metastore-common/pom.xml
@@ -95,14 +95,17 @@
     
       io.dropwizard.metrics
       metrics-core
+      3.1.0
     
     
       io.dropwizard.metrics
       metrics-jvm
+      3.1.0
     
     
       io.dropwizard.metrics
       metrics-json
+      3.1.0
     
     
       javolution
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java
new file mode 100644
index 000000000000..ad5897496d77
--- /dev/null
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java
@@ -0,0 +1,20 @@
+/*
+ * 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.hadoop.hive.common.util;public @interface SuppressFBWarnings {
+}
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index 83671cd43fe1..14ccf88c3914 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -97,14 +97,17 @@
     
       io.dropwizard.metrics
       metrics-core
+      3.1.0
     
     
       io.dropwizard.metrics
       metrics-jvm
+      3.1.0
     
     
       io.dropwizard.metrics
       metrics-json
+      3.1.0
     
     
       javolution

From e47f6c7f726a170ba6702a899adf0594b1c2e187 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Mon, 29 Apr 2024 15:36:34 +0530
Subject: [PATCH 20/62] javadoc classpath tested fix

---
 hcatalog/webhcat/svr/pom.xml                  | 114 +++++++++---------
 pom.xml                                       |  25 +++-
 standalone-metastore/metastore-common/pom.xml |   6 +-
 standalone-metastore/metastore-server/pom.xml |   6 +-
 standalone-metastore/pom.xml                  |   2 +-
 5 files changed, 88 insertions(+), 65 deletions(-)

diff --git a/hcatalog/webhcat/svr/pom.xml b/hcatalog/webhcat/svr/pom.xml
index d8801f21ba7a..04ba890fe3f6 100644
--- a/hcatalog/webhcat/svr/pom.xml
+++ b/hcatalog/webhcat/svr/pom.xml
@@ -243,62 +243,62 @@
         true
       
     
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
+        
+          
+            org.apache.maven.plugins
+            maven-javadoc-plugin
+            
+              
+                resourcesdoc.xml
+                
+                  javadoc
+                
+                compile
+                
+                  ${project.build.sourceEncoding}
+                  true
+                  public
+
+                  
+                    
+                      jakarta.xml.bind
+                      jakarta.xml.bind-api
+                      2.3.2
+                    
+                    
+                      org.glassfish.jaxb
+                      jaxb-runtime
+                      2.3.2
+                    
+                    
+                      com.sun.jersey.contribs
+                      wadl-resourcedoc-doclet
+                      ${wadl-resourcedoc-doclet.version}
+                    
+                    
+                    
+                      com.sun.jersey
+                      jersey-server
+                      ${jersey.version}
+                    
+                    
+                      xerces
+                      xercesImpl
+                      ${xerces.version}
+                    
+                  
+
+
+
+                  false
+                  none
+                
+              
+            
+          
+        
   
 
diff --git a/pom.xml b/pom.xml
index 22f907da82cf..c6fffcc59100 100644
--- a/pom.xml
+++ b/pom.xml
@@ -132,7 +132,7 @@
     2.9.0
     1.10.0
     10.14.2.0
-    3.1.0
+    3.2.4
     0.1.2
     0.17.1
     2.2.4
@@ -1874,6 +1874,29 @@
         jamon-maven-plugin
         ${jamon.plugin.version}
       
+      
+        org.apache.maven.plugins
+        maven-javadoc-plugin
+        
+          none
+          false
+          
+            
+                io.dropwizard.metrics
+                metrics-core
+                3.2.4
+            
+          
+        
+        
+          
+            aggregate
+            
+              aggregate
+            
+          
+        
+      
     
   
   
diff --git a/standalone-metastore/metastore-common/pom.xml b/standalone-metastore/metastore-common/pom.xml
index b84e84eb35cf..12f946749ad4 100644
--- a/standalone-metastore/metastore-common/pom.xml
+++ b/standalone-metastore/metastore-common/pom.xml
@@ -95,17 +95,17 @@
     
       io.dropwizard.metrics
       metrics-core
-      3.1.0
+      3.2.4
     
     
       io.dropwizard.metrics
       metrics-jvm
-      3.1.0
+      3.2.4
     
     
       io.dropwizard.metrics
       metrics-json
-      3.1.0
+      3.2.4
     
     
       javolution
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index 14ccf88c3914..f6fc9cf4b95f 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -97,17 +97,17 @@
     
       io.dropwizard.metrics
       metrics-core
-      3.1.0
+      3.2.4
     
     
       io.dropwizard.metrics
       metrics-jvm
-      3.1.0
+      3.2.4
     
     
       io.dropwizard.metrics
       metrics-json
-      3.1.0
+      3.2.4
     
     
       javolution
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index d83433d7e171..b5cdf0b30a96 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -78,7 +78,7 @@
     21.3.0.0
     0.1.2
     
-    3.1.0
+    3.2.4
     22.0
     3.3.6
     4.0.3

From b5138bff4ae0703f5d84fb4a7fe1320c19688dca Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Mon, 29 Apr 2024 15:49:37 +0530
Subject: [PATCH 21/62] Fixed pom formatting

---
 hcatalog/webhcat/svr/pom.xml | 110 +++++++++++++++++------------------
 pom.xml                      |   6 +-
 2 files changed, 56 insertions(+), 60 deletions(-)

diff --git a/hcatalog/webhcat/svr/pom.xml b/hcatalog/webhcat/svr/pom.xml
index 04ba890fe3f6..e533025a129e 100644
--- a/hcatalog/webhcat/svr/pom.xml
+++ b/hcatalog/webhcat/svr/pom.xml
@@ -243,62 +243,58 @@
         true
       
     
-        
-          
-            org.apache.maven.plugins
-            maven-javadoc-plugin
-            
-              
-                resourcesdoc.xml
-                
-                  javadoc
-                
-                compile
-                
-                  ${project.build.sourceEncoding}
-                  true
-                  public
-
-                  
-                    
-                      jakarta.xml.bind
-                      jakarta.xml.bind-api
-                      2.3.2
-                    
-                    
-                      org.glassfish.jaxb
-                      jaxb-runtime
-                      2.3.2
-                    
-                    
-                      com.sun.jersey.contribs
-                      wadl-resourcedoc-doclet
-                      ${wadl-resourcedoc-doclet.version}
-                    
-                    
-                    
-                      com.sun.jersey
-                      jersey-server
-                      ${jersey.version}
-                    
-                    
-                      xerces
-                      xercesImpl
-                      ${xerces.version}
-                    
-                  
-
-
-
-                  false
-                  none
-                
-              
-            
-          
-        
+    
+      
+        org.apache.maven.plugins
+        maven-javadoc-plugin
+        
+          
+            resourcesdoc.xml
+            
+              javadoc
+            
+            compile
+            
+              ${project.build.sourceEncoding}
+              true
+              public
+              
+                
+                  jakarta.xml.bind
+                  jakarta.xml.bind-api
+                  2.3.2
+                
+                
+                  org.glassfish.jaxb
+                  jaxb-runtime
+                  2.3.2
+                
+                
+                  com.sun.jersey.contribs
+                  wadl-resourcedoc-doclet
+                  ${wadl-resourcedoc-doclet.version}
+                
+                
+                
+                  com.sun.jersey
+                  jersey-server
+                  ${jersey.version}
+                
+                
+                  xerces
+                  xercesImpl
+                  ${xerces.version}
+                
+              
+              false
+              none
+            
+          
+        
+      
+    
   
 
diff --git a/pom.xml b/pom.xml
index c6fffcc59100..eb478073dea8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1882,9 +1882,9 @@
           false
           
             
-                io.dropwizard.metrics
-                metrics-core
-                3.2.4
+              io.dropwizard.metrics
+              metrics-core
+              3.2.4
             
           
         

From 784c4ef879defa86b26ee62ff981af033ab0e5db Mon Sep 17 00:00:00 2001
From: kokila 
Date: Thu, 2 May 2024 11:53:04 +0530
Subject: [PATCH 22/62] solve beeline error due to --add-opens

---
 bin/ext/beeline.sh | 2 +-
 common/pom.xml     | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/bin/ext/beeline.sh b/bin/ext/beeline.sh
index d825db9139f6..e3a25be43e8e 100644
--- a/bin/ext/beeline.sh
+++ b/bin/ext/beeline.sh
@@ -29,7 +29,7 @@ beeline () {
     hadoopClasspath="${HADOOP_CLASSPATH}:"
   fi
   export HADOOP_CLASSPATH="${hadoopClasspath}${HIVE_CONF_DIR}:${beelineJarPath}:${superCsvJarPath}:${jlineJarPath}"
-  export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dlog4j.configurationFile=beeline-log4j2.properties "
+  export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Dlog4j.configurationFile=beeline-log4j2.properties --add-opens=java.base/java.net=ALL-UNNAMED "
 
   if [ "$EXECUTE_WITH_JAVA" != "true" ] ; then
     # if CLIUSER is not empty, then pass it as user id / password during beeline redirect
diff --git a/common/pom.xml b/common/pom.xml
index 85be88c1aef2..4d09fe122282 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -399,6 +399,8 @@
           
             --add-opens
             org.apache.hadoop/org.apache.hadoop.fs=ALL-UNNAMED
+            --add-opens
+            java.base/java.net=ALL-UNNAMED
           
         
       

From 1d1f77b8b2057d8af458739b9bf14929f0563d6d Mon Sep 17 00:00:00 2001
From: kokila 
Date: Fri, 3 May 2024 11:37:10 +0530
Subject: [PATCH 23/62] datanucleus upgrade

---
 pom.xml                                       |  6 ++--
 .../sql/derby/hive-schema-4.1.0.derby.sql     | 32 +++++++++----------
 standalone-metastore/pom.xml                  |  6 ++--
 3 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/pom.xml b/pom.xml
index eb478073dea8..398bf594b05f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,10 +114,10 @@
     1.11.3
     1.78
     1.25.0
-    5.2.8
-    5.2.10
+    6.0.0-release
+    6.0.0-release
     3.2.0-release
-    5.2.10
+    6.0.0-release
     1.5.0
     1.15
     3.2.2
diff --git a/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql b/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql
index ea1f90aff89e..3444b760a0c5 100644
--- a/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql
+++ b/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql
@@ -36,9 +36,9 @@ CREATE TABLE "APP"."DATABASE_PARAMS" ("DB_ID" BIGINT NOT NULL, "PARAM_KEY" VARCH
 
 CREATE TABLE "APP"."TBL_COL_PRIVS" ("TBL_COLUMN_GRANT_ID" BIGINT NOT NULL, "COLUMN_NAME" VARCHAR(767), "CREATE_TIME" INTEGER NOT NULL, "GRANT_OPTION" SMALLINT NOT NULL, "GRANTOR" VARCHAR(128), "GRANTOR_TYPE" VARCHAR(128), "PRINCIPAL_NAME" VARCHAR(128), "PRINCIPAL_TYPE" VARCHAR(128), "TBL_COL_PRIV" VARCHAR(128), "TBL_ID" BIGINT, "AUTHORIZER" VARCHAR(128));
 
-CREATE TABLE "APP"."SERDE_PARAMS" ("SERDE_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" CLOB);
+CREATE TABLE "APP"."SERDE_PARAMS" ("SERDE_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
 
-CREATE TABLE "APP"."COLUMNS_V2" ("CD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(4000), "COLUMN_NAME" VARCHAR(767) NOT NULL, "TYPE_NAME" CLOB, "INTEGER_IDX" INTEGER NOT NULL);
+CREATE TABLE "APP"."COLUMNS_V2" ("CD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(4000), "COLUMN_NAME" VARCHAR(767) NOT NULL, "TYPE_NAME" VARCHAR(10000), "INTEGER_IDX" INTEGER NOT NULL);
 
 CREATE TABLE "APP"."SORT_COLS" ("SD_ID" BIGINT NOT NULL, "COLUMN_NAME" VARCHAR(767), "ORDER" INTEGER NOT NULL, "INTEGER_IDX" INTEGER NOT NULL);
 
@@ -62,7 +62,7 @@ CREATE TABLE "APP"."TYPES" ("TYPES_ID" BIGINT NOT NULL, "TYPE_NAME" VARCHAR(128)
 
 CREATE TABLE "APP"."GLOBAL_PRIVS" ("USER_GRANT_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "GRANT_OPTION" SMALLINT NOT NULL, "GRANTOR" VARCHAR(128), "GRANTOR_TYPE" VARCHAR(128), "PRINCIPAL_NAME" VARCHAR(128), "PRINCIPAL_TYPE" VARCHAR(128), "USER_PRIV" VARCHAR(128), "AUTHORIZER" VARCHAR(128));
 
-CREATE TABLE "APP"."PARTITION_PARAMS" ("PART_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" CLOB);
+CREATE TABLE "APP"."PARTITION_PARAMS" ("PART_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
 
 CREATE TABLE "APP"."PARTITION_EVENTS" (
     "PART_NAME_ID" BIGINT NOT NULL,
@@ -111,7 +111,7 @@ CREATE TABLE "APP"."TAB_COL_STATS"(
     "HISTOGRAM" BLOB
 );
 
-CREATE TABLE "APP"."TABLE_PARAMS" ("TBL_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" CLOB);
+CREATE TABLE "APP"."TABLE_PARAMS" ("TBL_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
 
 CREATE TABLE "APP"."BUCKETING_COLS" ("SD_ID" BIGINT NOT NULL, "BUCKET_COL_NAME" VARCHAR(256), "INTEGER_IDX" INTEGER NOT NULL);
 
@@ -119,7 +119,7 @@ CREATE TABLE "APP"."TYPE_FIELDS" ("TYPE_NAME" BIGINT NOT NULL, "COMMENT" VARCHAR
 
 CREATE TABLE "APP"."NUCLEUS_TABLES" ("CLASS_NAME" VARCHAR(128) NOT NULL, "TABLE_NAME" VARCHAR(128) NOT NULL, "TYPE" VARCHAR(4) NOT NULL, "OWNER" VARCHAR(2) NOT NULL, "VERSION" VARCHAR(20) NOT NULL, "INTERFACE_NAME" VARCHAR(256) DEFAULT NULL);
 
-CREATE TABLE "APP"."SD_PARAMS" ("SD_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" CLOB);
+CREATE TABLE "APP"."SD_PARAMS" ("SD_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
 
 CREATE TABLE "APP"."SKEWED_STRING_LIST" ("STRING_LIST_ID" BIGINT NOT NULL);
 
@@ -171,7 +171,7 @@ CREATE TABLE "APP"."NOTIFICATION_LOG" (
     "EVENT_ID" BIGINT NOT NULL,
     "EVENT_TIME" INTEGER NOT NULL,
     "EVENT_TYPE" VARCHAR(32) NOT NULL,
-    "MESSAGE" CLOB,
+    "MESSAGE" VARCHAR(10000),
     "TBL_NAME" VARCHAR(256),
     "MESSAGE_FORMAT" VARCHAR(16)
 );
@@ -218,7 +218,7 @@ CREATE TABLE "APP"."MV_CREATION_METADATA" (
   "CAT_NAME" VARCHAR(256) NOT NULL,
   "DB_NAME" VARCHAR(128) NOT NULL,
   "TBL_NAME" VARCHAR(256) NOT NULL,
-  "TXN_LIST" CLOB,
+  "TXN_LIST" VARCHAR(10000),
   "MATERIALIZATION_TIME" BIGINT NOT NULL
 );
 
@@ -605,7 +605,7 @@ CREATE TABLE COMPACTION_QUEUE (
   CQ_HIGHEST_WRITE_ID bigint,
   CQ_META_INFO varchar(2048) for bit data,
   CQ_HADOOP_JOB_ID varchar(32),
-  CQ_ERROR_MESSAGE clob,
+  CQ_ERROR_MESSAGE VARCHAR(10000),
   CQ_NEXT_TXN_ID bigint,
   CQ_TXN_ID bigint,
   CQ_COMMIT_TIME bigint,
@@ -640,7 +640,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
   CC_HIGHEST_WRITE_ID bigint,
   CC_META_INFO varchar(2048) for bit data,
   CC_HADOOP_JOB_ID varchar(32),
-  CC_ERROR_MESSAGE clob,
+  CC_ERROR_MESSAGE VARCHAR(10000),
   CC_NEXT_TXN_ID bigint,
   CC_TXN_ID bigint,
   CC_COMMIT_TIME bigint,
@@ -743,7 +743,7 @@ CREATE TABLE "APP"."SCHEMA_VERSION" (
   "CD_ID" bigint references "APP"."CDS" ("CD_ID"),
   "STATE" integer not null,
   "DESCRIPTION" varchar(4000),
-  "SCHEMA_TEXT" clob,
+  "SCHEMA_TEXT" VARCHAR(10000),
   "FINGERPRINT" varchar(256),
   "SCHEMA_VERSION_NAME" varchar(256),
   "SERDE_ID" bigint references "APP"."SERDES" ("SERDE_ID")
@@ -774,9 +774,9 @@ CREATE TABLE TXN_WRITE_NOTIFICATION_LOG (
   WNL_DATABASE varchar(128) NOT NULL,
   WNL_TABLE varchar(256) NOT NULL,
   WNL_PARTITION varchar(767) NOT NULL,
-  WNL_TABLE_OBJ clob NOT NULL,
-  WNL_PARTITION_OBJ clob,
-  WNL_FILES clob,
+  WNL_TABLE_OBJ VARCHAR(10000) NOT NULL,
+  WNL_PARTITION_OBJ VARCHAR(10000),
+  WNL_FILES VARCHAR(10000),
   WNL_EVENT_TIME integer NOT NULL,
   PRIMARY KEY (WNL_TXNID, WNL_DATABASE, WNL_TABLE, WNL_PARTITION)
 );
@@ -835,7 +835,7 @@ CREATE TABLE "APP"."STORED_PROCS" (
   "DB_ID" BIGINT NOT NULL,
   "NAME" VARCHAR(256) NOT NULL,
   "OWNER_NAME" VARCHAR(128) NOT NULL,
-  "SOURCE" clob NOT NULL,
+  "SOURCE" VARCHAR(10000) NOT NULL,
   PRIMARY KEY ("SP_ID")
 );
 
@@ -856,8 +856,8 @@ CREATE TABLE "APP"."PACKAGES" (
   "DB_ID" BIGINT NOT NULL,
   "NAME" VARCHAR(256) NOT NULL,
   "OWNER_NAME" VARCHAR(128) NOT NULL,
-  "HEADER" clob NOT NULL,
-  "BODY" clob NOT NULL,
+  "HEADER" VARCHAR(10000) NOT NULL,
+  "BODY" VARCHAR(10000) NOT NULL,
   PRIMARY KEY ("PKG_ID")
 );
 
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index b5cdf0b30a96..1f85ee10cca2 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -66,10 +66,10 @@
     1.1.3
     2.9.0
     1.2.0
-    5.2.8
-    5.2.10
+    6.0.0-release
+    6.0.0-release
     3.2.0-release
-    5.2.10
+    6.0.0-release
     10.14.2.0
     2.5.0
     6.2.1.jre8

From fc8864d29642f6f33cc7f4eedcedba9aba7bb0c6 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Tue, 21 May 2024 16:13:26 +0530
Subject: [PATCH 24/62] Add nashorn Javascript engine dependency

---
 pom.xml    | 6 ++++++
 ql/pom.xml | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/pom.xml b/pom.xml
index 398bf594b05f..1d1b7e2ddbd0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -145,6 +145,7 @@
     1.3
     2.5.6-hadoop3
     0.7.2
+    15.4
     
     3.3.7
     4.0.3
@@ -407,6 +408,11 @@
         commons-math3
         ${commons-math3.version}
       
+      
+        org.openjdk.nashorn
+        nashorn-core
+        ${nashorn.version}
+      
       
         io.jsonwebtoken
         jjwt-api
diff --git a/ql/pom.xml b/ql/pom.xml
index b0f8f45156ef..486751bd01d4 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -32,6 +32,10 @@
     
     
     
+    
+      org.openjdk.nashorn
+      nashorn-core
+    
     
       org.apache.atlas
       atlas-client-v2

From dcd452e88670d635bdf80d893640fa2effc5f359 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Tue, 21 May 2024 16:40:30 +0530
Subject: [PATCH 25/62] Final fields modification using reflection workaround

---
 .../hive/service/auth/jwt/TestHttpJwtAuthentication.java | 9 ++++++---
 pom.xml                                                  | 2 +-
 standalone-metastore/metastore-server/pom.xml            | 2 +-
 .../metastore/TestRemoteHiveMetastoreWithHttpJwt.java    | 9 ++++++---
 4 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/itests/hive-unit/src/test/java/org/apache/hive/service/auth/jwt/TestHttpJwtAuthentication.java b/itests/hive-unit/src/test/java/org/apache/hive/service/auth/jwt/TestHttpJwtAuthentication.java
index 7aa7adb67e98..2b6f501ecf1e 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/service/auth/jwt/TestHttpJwtAuthentication.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/service/auth/jwt/TestHttpJwtAuthentication.java
@@ -38,6 +38,8 @@
 import org.junit.Test;
 
 import java.io.File;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.VarHandle;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.nio.charset.StandardCharsets;
@@ -95,9 +97,10 @@ public static void makeEnvModifiable() throws Exception {
 
   private static void removeStaticFinalAndSetValue(Field field, Object value) throws Exception {
     field.setAccessible(true);
-    Field modifiersField = Field.class.getDeclaredField("modifiers");
-    modifiersField.setAccessible(true);
-    modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+    VarHandle modifiersHandle = MethodHandles.privateLookupIn(Field.class, MethodHandles.lookup())
+            .findVarHandle(Field.class, "modifiers", int.class);
+    int modifiers = field.getModifiers();
+    modifiersHandle.set(field, modifiers & ~Modifier.FINAL);
     field.set(null, value);
   }
 
diff --git a/pom.xml b/pom.xml
index 1d1b7e2ddbd0..56be28acd131 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
     
     
     1.0b3
-    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED
+    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
     2.17
     3.4.0
     2.10
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index f6fc9cf4b95f..83eb443b41dd 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -664,7 +664,7 @@
           true
           false
           ${test.forkcount}
-          -Xmx2048m
+          -Xmx2048m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
           
             ${project.build.directory}
             true
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestRemoteHiveMetastoreWithHttpJwt.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestRemoteHiveMetastoreWithHttpJwt.java
index c228e94fd491..ea6faa62114a 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestRemoteHiveMetastoreWithHttpJwt.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestRemoteHiveMetastoreWithHttpJwt.java
@@ -28,6 +28,8 @@
 import com.nimbusds.jwt.SignedJWT;
 
 import java.io.File;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.VarHandle;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
 import java.nio.file.Files;
@@ -102,9 +104,10 @@ public static void makeEnvModifiable() throws Exception {
 
   private static void removeStaticFinalAndSetValue(Field field, Object value) throws Exception {
     field.setAccessible(true);
-    Field modifiersField = Field.class.getDeclaredField("modifiers");
-    modifiersField.setAccessible(true);
-    modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
+    VarHandle modifiersHandle = MethodHandles.privateLookupIn(Field.class, MethodHandles.lookup())
+            .findVarHandle(Field.class, "modifiers", int.class);
+    int modifiers = field.getModifiers();
+    modifiersHandle.set(field, modifiers & ~Modifier.FINAL);
     field.set(null, value);
   }
   private static int port;

From 14144023a95565597333cecd0a96c1b063d7bb9c Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Thu, 23 May 2024 00:32:12 +0530
Subject: [PATCH 26/62] Reflection workaround for TestJdbcWithMiniHS2

---
 .../java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
index 6f8110aa9d59..243144e1cbb6 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcWithMiniHS2.java
@@ -25,6 +25,8 @@
 import static org.junit.Assert.fail;
 
 import java.io.IOException;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.VarHandle;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
@@ -1234,10 +1236,10 @@ private void setReflectionUtilCache() {
       constructorCacheField = ReflectionUtil.class.getDeclaredField("CONSTRUCTOR_CACHE");
       if (constructorCacheField != null) {
         constructorCacheField.setAccessible(true);
-        Field modifiersField = Field.class.getDeclaredField("modifiers");
-        modifiersField.setAccessible(true);
-        modifiersField.setInt(constructorCacheField, constructorCacheField.getModifiers()
-            & ~Modifier.FINAL);
+        VarHandle modifiersHandle = MethodHandles.privateLookupIn(Field.class, MethodHandles.lookup())
+                .findVarHandle(Field.class, "modifiers", int.class);
+        int modifiers = constructorCacheField.getModifiers();
+        modifiersHandle.set(constructorCacheField, modifiers & ~Modifier.FINAL);
         tmp =
             CacheBuilder.newBuilder().expireAfterAccess(5, TimeUnit.SECONDS).concurrencyLevel(64)
                 .weakKeys().weakValues().build();

From 7c829e4384fcfa54ac7003be195b550b32f87e43 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Thu, 23 May 2024 00:35:32 +0530
Subject: [PATCH 27/62] Add jvm args for io java.sql & util.concurrent

---
 pom.xml                                       | 2 +-
 standalone-metastore/metastore-server/pom.xml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 56be28acd131..3932a518cc89 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
     
     
     1.0b3
-    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
+    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
     2.17
     3.4.0
     2.10
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index 83eb443b41dd..42b6f56afa30 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -664,7 +664,7 @@
           true
           false
           ${test.forkcount}
-          -Xmx2048m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
+          -Xmx2048m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
           
             ${project.build.directory}
             true

From 236b05d5ca769e5081d87987810261d0b08f955a Mon Sep 17 00:00:00 2001
From: kokila 
Date: Mon, 20 May 2024 07:06:47 +0530
Subject: [PATCH 28/62] datanucleus rdms patch

---
 pom.xml                                       |   6 +-
 standalone-metastore/metastore-server/pom.xml |   6 +-
 .../patched-datanucleus-rdbms/pom.xml         | 139 ++++
 .../rdbms/table/ElementContainerTable.java    | 614 ++++++++++++++++++
 .../src/main/resources/plugin.xml             | 151 +++++
 .../main/resources/schema/column_mapping.exsd | 181 ++++++
 .../main/resources/schema/connectionpool.exsd | 122 ++++
 .../resources/schema/datastoreadapter.exsd    | 129 ++++
 .../resources/schema/identifierfactory.exsd   | 122 ++++
 .../main/resources/schema/java_mapping.exsd   | 132 ++++
 .../main/resources/schema/sql_expression.exsd | 135 ++++
 .../src/main/resources/schema/sql_method.exsd | 142 ++++
 .../main/resources/schema/sql_operation.exsd  | 136 ++++
 .../main/resources/schema/sql_tablenamer.exsd | 122 ++++
 standalone-metastore/pom.xml                  |   5 +-
 15 files changed, 2134 insertions(+), 8 deletions(-)
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/pom.xml
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd
 create mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd

diff --git a/pom.xml b/pom.xml
index 3932a518cc89..1cb2ea41cdd0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,6 +28,7 @@
   2008
   
     storage-api
+    standalone-metastore
     accumulo-handler
     vector-code-gen
     beeline
@@ -58,7 +59,6 @@
     kudu-handler
     testutils
     packaging
-    standalone-metastore
     kafka-handler
   
   
@@ -821,8 +821,8 @@
         ${datanucleus-core.version}
       
       
-        org.datanucleus
-        datanucleus-rdbms
+        org.apache.hive
+        patched-datanucleus-rdbms
         ${datanucleus-rdbms.version}
       
       
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index 42b6f56afa30..37a200ab0ff1 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -287,9 +287,9 @@
       6.0.0-release
     
     
-      org.datanucleus
-      datanucleus-rdbms
-      6.0.0-release
+      org.apache.hive
+      patched-datanucleus-rdbms
+      ${datanucleus-rdbms.version}
     
     
       org.datanucleus
diff --git a/standalone-metastore/patched-datanucleus-rdbms/pom.xml b/standalone-metastore/patched-datanucleus-rdbms/pom.xml
new file mode 100644
index 000000000000..45a238d9dbd7
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/pom.xml
@@ -0,0 +1,139 @@
+
+
+
+  
+    org.apache.hive
+    hive-standalone-metastore
+    4.1.0-SNAPSHOT
+    ../pom.xml
+  
+  4.0.0
+  org.apache.hive
+  patched-datanucleus-rdbms
+  ${datanucleus-rdbms.version}
+  Patched DataNucleus RDBMS
+  
+  
+  
+  
+    ../..
+    ..
+  
+  
+    
+      org.datanucleus
+      datanucleus-rdbms
+      ${datanucleus-rdbms.version}
+      true
+    
+    
+      org.datanucleus
+      datanucleus-core
+      ${datanucleus-core.version}
+    
+  
+  
+    
+      
+        org.apache.maven.plugins
+        maven-dependency-plugin
+        
+          
+            unpack
+            generate-sources
+            
+              unpack
+            
+            
+              
+                
+                  org.datanucleus
+                  datanucleus-rdbms
+                  ${datanucleus-rdbms.version}
+                  jar
+                  true
+                  ${project.build.directory}/classes
+                  
+                      **/ElementContainerTable.class
+                  
+                
+              
+            
+          
+        
+      
+      
+        org.apache.felix
+        maven-bundle-plugin
+        
+          
+            bundle-packaged-jar
+            package
+            
+              bundle
+            
+            
+              
+                org.datanucleus.store.rdbms
+                DataNucleus
+                org.datanucleus.store.rdbms;singleton:=true
+                ${datanucleus-rdbms.version}
+                
+                  org.datanucleus*;version=6.0.0-release,
+                  com.google.cloud.spanner.jdbc;resolution:=optional,
+                  com.ibm.db2.jcc;resolution:=optional,
+                  com.informix.jdbc;resolution:=optional,
+                  com.jolbox.bonecp;resolution:=optional,
+                  com.mchange.v2.c3p0;resolution:=optional,
+                  com.microsoft.sqlserver.jdbc;resolution:=optional,
+                  com.mysql.jdbc;resolution:=optional,
+                  com.sap.dbtech.jdbc;resolution:=optional,
+                  com.sybase.jdbc2.jdbc;resolution:=optional,
+                  com.sybase.jdbc4.jdbc;resolution:=optional,
+                  sybase.jdbc4.sqlanywhere;resolution:=optional,
+                  sap.jdbc4.sqlanywhere;resolution:=optional,
+                  org.sqlite;resolution:=optional,
+                  net.sourceforge.jtds.jdbc;resolution:=optional,
+                  org.apache.derby.jdbc;resolution:=optional,
+                  org.firebirdsql.jdbc;resolution:=optional,
+                  org.h2;resolution:=optional,
+                  org.hsqldb;resolution:=optional,
+                  org.hsqldb.jdbc;resolution:=optional,
+                  org.postgresql;resolution:=optional,
+                  org.apache.tomcat.jdbc.pool;version="7.0.0";resolution:=optional,
+                  *
+                
+              
+            
+          
+        
+      
+      
+        
+        org.apache.maven.plugins
+        maven-assembly-plugin
+        
+          
+            assemble
+            none
+            
+              single
+            
+          
+        
+      
+    
+  
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java b/standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java
new file mode 100644
index 000000000000..bdd1982030c6
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java
@@ -0,0 +1,614 @@
+/**********************************************************************
+ Copyright (c) 2005 Andy Jefferson and others. All rights reserved.
+ Licensed 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.
+
+
+ Contributors:
+ ...
+ **********************************************************************/
+package org.datanucleus.store.rdbms.table;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.datanucleus.ClassLoaderResolver;
+import org.datanucleus.exceptions.NucleusUserException;
+import org.datanucleus.metadata.AbstractMemberMetaData;
+import org.datanucleus.metadata.ColumnMetaData;
+import org.datanucleus.metadata.ElementMetaData;
+import org.datanucleus.metadata.FieldRole;
+import org.datanucleus.metadata.ForeignKeyMetaData;
+import org.datanucleus.metadata.IndexMetaData;
+import org.datanucleus.metadata.MetaData;
+import org.datanucleus.metadata.PrimaryKeyMetaData;
+import org.datanucleus.metadata.UniqueMetaData;
+import org.datanucleus.store.rdbms.exceptions.NoTableManagedException;
+import org.datanucleus.store.rdbms.RDBMSPropertyNames;
+import org.datanucleus.store.rdbms.RDBMSStoreManager;
+import org.datanucleus.store.rdbms.identifier.DatastoreIdentifier;
+import org.datanucleus.store.rdbms.identifier.IdentifierFactory;
+import org.datanucleus.store.rdbms.key.CandidateKey;
+import org.datanucleus.store.rdbms.key.ForeignKey;
+import org.datanucleus.store.rdbms.key.Index;
+import org.datanucleus.store.rdbms.mapping.java.EmbeddedElementPCMapping;
+import org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping;
+import org.datanucleus.store.rdbms.mapping.java.PersistableMapping;
+import org.datanucleus.store.rdbms.mapping.java.ReferenceMapping;
+import org.datanucleus.store.rdbms.mapping.java.SerialisedPCMapping;
+import org.datanucleus.util.ClassUtils;
+import org.datanucleus.util.Localiser;
+import org.datanucleus.util.NucleusLogger;
+import org.datanucleus.util.StringUtils;
+
+/**
+ * Representation of a join table for a container of elements.
+ * Can be used for collections, lists, sets and arrays.
+ * There can be multiple JoinTable objects referring to the same underlying datastore object.
+ * If the JoinTable is shared by multiple fields, for example, then there will be one for each relation.
+ */
+public abstract class ElementContainerTable extends JoinTable
+{
+  /**
+   * Mapping of an element.
+   * This is either a PersistableMapping to the element table, or an EmbeddedElementPCMapping (when PC elements are embedded),
+   * or a simple mapping (when using non-PC elements), or a SerialisedPCMapping, or a SerialisedReferenceMapping.
+   * It will be specified in the MetaData using the <element> tag.
+   */
+  protected JavaTypeMapping elementMapping;
+
+  /**
+   * Order mapping, to provide part of the primary key.
+   * In the case of a List this represents the ordering index.
+   * In the case of a Set this represents an index for allowing duplicates, or where the element is embedded andis of a type that can't be part of the PK.
+   * It will be specified in the MetaData using the <order> tag.
+   */
+  protected JavaTypeMapping orderMapping;
+
+  /**
+   * Optional mapping for a column used to discriminate between elements of one collection from another.
+   * Used where the join table is being shared by more than 1 relation.
+   * Specified using the metadata extension "relation-discriminator-column" in the "field" element.
+   */
+  protected JavaTypeMapping relationDiscriminatorMapping;
+
+  /**
+   * Value to use with any relation discriminator column for objects of this field placed in the join table.
+   * Specified using the metadata extension "relation-discriminator-value" in the "field" element.
+   */
+  protected String relationDiscriminatorValue;
+
+  /**
+   * Constructor.
+   * @param ownerTable Table of the owner of this member
+   * @param tableName Identifier name of this table
+   * @param mmd MetaData for the member owning this join table
+   * @param storeMgr The Store Manager managing these tables.
+   */
+  public ElementContainerTable(Table ownerTable, DatastoreIdentifier tableName, AbstractMemberMetaData mmd, RDBMSStoreManager storeMgr)
+  {
+    super(ownerTable, tableName, mmd, storeMgr);
+  }
+
+  /**
+   * Method to initialise the table definition. Adds the owner mapping.
+   * @param clr The ClassLoaderResolver
+   */
+  @Override
+  public void initialize(ClassLoaderResolver clr)
+  {
+    assertIsUninitialized();
+
+    // Add owner mapping
+    AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr);
+    ColumnMetaData[] columnMetaData = null;
+    if (mmd.getJoinMetaData() != null && mmd.getJoinMetaData().getColumnMetaData() != null && mmd.getJoinMetaData().getColumnMetaData().length > 0)
+    {
+      // Column mappings defined at this side (1-N, M-N)
+      // When specified at this side they use the  tag
+      columnMetaData = mmd.getJoinMetaData().getColumnMetaData();
+    }
+    else if (relatedMmds != null && relatedMmds[0].getElementMetaData() != null && relatedMmds[0].getElementMetaData().getColumnMetaData() != null &&
+            relatedMmds[0].getElementMetaData().getColumnMetaData().length > 0)
+    {
+      // Column mappings defined at other side (M-N)
+      // When specified at other side they use the  tag
+      // ** This is really only for Collections/Sets since M-N doesn't make sense for indexed Lists/arrays **
+      columnMetaData = relatedMmds[0].getElementMetaData().getColumnMetaData();
+    }
+
+    try
+    {
+      ownerMapping = ColumnCreator.createColumnsForJoinTables(clr.classForName(ownerType), mmd, columnMetaData, storeMgr, this, false, false, FieldRole.ROLE_OWNER, clr, ownerTable);
+    }
+    catch (NoTableManagedException ntme)
+    {
+      // Maybe this is a join table from an embedded object, so no table to link back to
+      throw new NucleusUserException("Table " + toString() + " for member=" + mmd.getFullFieldName() +
+              " needs a column to link back to its owner, yet the owner type (" + ownerType + ") has no table of its own (embedded?)");
+    }
+    if (NucleusLogger.DATASTORE.isDebugEnabled())
+    {
+      logMapping(mmd.getFullFieldName()+".[OWNER]", ownerMapping);
+    }
+
+    // Add any distinguisher column
+    if (mmd.hasExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN) || mmd.hasExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_VALUE))
+    {
+      // Generate some columnMetaData for our new column
+      String colName = mmd.getValueForExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN);
+      if (colName == null)
+      {
+        // No column defined so use a fallback name
+        colName = "RELATION_DISCRIM";
+      }
+      ColumnMetaData colmd = new ColumnMetaData();
+      colmd.setName(colName);
+
+      boolean relationDiscriminatorPk = false;
+      if (mmd.hasExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_PK) && mmd.getValueForExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_PK).equalsIgnoreCase("true"))
+      {
+        // Default this to not be part of the PK of the join table, but allow the user to override it
+        relationDiscriminatorPk = true;
+      }
+      if (!relationDiscriminatorPk)
+      {
+        colmd.setAllowsNull(Boolean.TRUE); // Allow for elements not in any discriminated collection (when not PK)
+      }
+
+      // Create the mapping and its datastore column (only support String relation discriminators here)
+      relationDiscriminatorMapping = storeMgr.getMappingManager().getMapping(String.class);
+      ColumnCreator.createIndexColumn(relationDiscriminatorMapping, storeMgr, clr, this, colmd, relationDiscriminatorPk);
+
+      relationDiscriminatorValue = mmd.getValueForExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_VALUE);
+      if (relationDiscriminatorValue == null)
+      {
+        // No value defined so just use the field name
+        relationDiscriminatorValue = mmd.getFullFieldName();
+      }
+    }
+  }
+
+  /**
+   * Access the element type class name
+   * @return the element type class name
+   */
+  public abstract String getElementType();
+
+  /**
+   * Convenience method to apply the user specification of <primary-key> columns
+   * @param pkmd MetaData for the primary key
+   */
+  protected void applyUserPrimaryKeySpecification(PrimaryKeyMetaData pkmd)
+  {
+    ColumnMetaData[] pkCols = pkmd.getColumnMetaData();
+    for (int i=0;i from 
+      ForeignKeyMetaData fkmd = null;
+      if (mmd.getJoinMetaData() != null)
+      {
+        fkmd = mmd.getJoinMetaData().getForeignKeyMetaData();
+      }
+      // TODO If in autoMode and there are multiple possible owner tables then don't create a FK
+      if (fkmd != null || autoMode)
+      {
+        fk = new ForeignKey(ownerMapping, dba, ownerTable, true);
+        fk.setForMetaData(fkmd);
+      }
+    }
+    return fk;
+  }
+
+  /**
+   * Convenience method to generate a ForeignKey from this join table to an element table using the specified mapping.
+   * @param elementTable The element table
+   * @param autoMode Whether we are in auto mode (where we generate the keys regardless of what the metadata says)
+   * @param m The mapping to the element table
+   * @return The ForeignKey
+   */
+  protected ForeignKey getForeignKeyToElement(DatastoreClass elementTable, boolean autoMode, JavaTypeMapping m)
+  {
+    ForeignKey fk = null;
+    if (elementTable != null)
+    {
+      // Take  from either  or 
+      ForeignKeyMetaData fkmd = mmd.getForeignKeyMetaData();
+      if (fkmd == null && mmd.getElementMetaData() != null)
+      {
+        fkmd = mmd.getElementMetaData().getForeignKeyMetaData();
+      }
+      // TODO If in autoMode and there are multiple possible element tables then don't create a FK
+      if (fkmd != null || autoMode)
+      {
+        fk = new ForeignKey(m, dba, elementTable, true);
+        fk.setForMetaData(fkmd);
+      }
+    }
+    return fk;
+  }
+
+
+  /**
+   * Accessor for the expected foreign keys for this table.
+   * @param clr The ClassLoaderResolver
+   * @return The expected foreign keys.
+   */
+  @Override
+  public List getExpectedForeignKeys(ClassLoaderResolver clr)
+  {
+    assertIsInitialized();
+
+    // Find the mode that we're operating in for FK addition
+    boolean autoMode = false;
+    if (storeMgr.getStringProperty(RDBMSPropertyNames.PROPERTY_RDBMS_CONSTRAINT_CREATE_MODE).equals("DataNucleus"))
+    {
+      autoMode = true;
+    }
+
+    List foreignKeys = new ArrayList();
+    try
+    {
+      // FK from join table to owner table
+      DatastoreClass referencedTable = storeMgr.getDatastoreClass(ownerType, clr);
+      if (referencedTable != null)
+      {
+        // Single owner table, so add a single FK to the owner as appropriate
+        ForeignKey fk = getForeignKeyToOwner(referencedTable, autoMode);
+        if (fk != null)
+        {
+          foreignKeys.add(fk);
+        }
+      }
+      else
+      {
+        // No single owner so we don't bother with the FK since referential integrity by FK cannot work
+        // if we don't have a single owner at the other end of the FK(s).
+      }
+
+      // FK from join table to element table(s)
+      if (elementMapping instanceof SerialisedPCMapping)
+      {
+        // Do nothing since no element table
+      }
+      else if (elementMapping instanceof EmbeddedElementPCMapping)
+      {
+        // Add any FKs for the fields of the (embedded) element
+        EmbeddedElementPCMapping embMapping = (EmbeddedElementPCMapping)elementMapping;
+        for (int i=0;i 0 &&
+                  embFieldMapping instanceof PersistableMapping)
+          {
+            // Field is for a PC class with the FK at this side, so add a FK to the table of this PC
+            ForeignKey fk = TableUtils.getForeignKeyForPCField(embFieldMapping, embFmd, autoMode, storeMgr, clr);
+            if (fk != null)
+            {
+              foreignKeys.add(fk);
+            }
+          }
+        }
+      }
+      else if (elementMapping instanceof ReferenceMapping)
+      {
+        JavaTypeMapping[] implJavaTypeMappings = ((ReferenceMapping)elementMapping).getJavaTypeMapping();
+        for (int i=0;i 0)
+          {
+            referencedTable = storeMgr.getDatastoreClass(implMapping.getType(), clr);
+            if (referencedTable != null)
+            {
+              ForeignKey fk = getForeignKeyToElement(referencedTable, autoMode, implMapping);
+              if (fk != null)
+              {
+                foreignKeys.add(fk);
+              }
+            }
+          }
+        }
+      }
+      else
+      {
+        referencedTable = storeMgr.getDatastoreClass(getElementType(), clr);
+        if (referencedTable != null)
+        {
+          ForeignKey fk = getForeignKeyToElement(referencedTable, autoMode, elementMapping);
+          if (fk != null)
+          {
+            foreignKeys.add(fk);
+          }
+        }
+        else
+        {
+          // Either no element table or multiple (where the user has element with "subclass-table" strategy, or using "complete-table")
+          // so do nothing since referential integrity will not allow multiple FKs.
+        }
+      }
+    }
+    catch (NoTableManagedException e)
+    {
+      // expected when no table exists
+    }
+    return foreignKeys;
+  }
+
+  /**
+   * Accessor for the indices for this table.
+   * This includes both the user-defined indices (via MetaData), and the ones required by foreign keys (required by relationships).
+   * @param clr The ClassLoaderResolver
+   * @return The indices
+   */
+  @Override
+  protected Set getExpectedIndices(ClassLoaderResolver clr)
+  {
+    assertIsInitialized();
+
+    Set indices = new HashSet();
+
+    // Index for FK back to owner
+    if (mmd.getIndexMetaData() != null)
+    {
+      Index index = TableUtils.getIndexForField(this, mmd.getIndexMetaData(), ownerMapping);
+      if (index != null)
+      {
+        indices.add(index);
+      }
+    }
+    else if (mmd.getJoinMetaData() != null && mmd.getJoinMetaData().getIndexMetaData() != null)
+    {
+      Index index = TableUtils.getIndexForField(this, mmd.getJoinMetaData().getIndexMetaData(), ownerMapping);
+      if (index != null)
+      {
+        indices.add(index);
+      }
+    }
+    else
+    {
+      // Fallback to an index for the foreign-key to the owner
+      Index index = TableUtils.getIndexForField(this, null, ownerMapping);
+      if (index != null)
+      {
+        indices.add(index);
+      }
+    }
+
+    // Index for FK to element (if required)
+    if (elementMapping instanceof EmbeddedElementPCMapping)
+    {
+      // Add all indices required by fields of the embedded element
+      EmbeddedElementPCMapping embMapping = (EmbeddedElementPCMapping)elementMapping;
+      for (int i=0;i getExpectedCandidateKeys()
+  {
+    // The indices required by foreign keys (BaseTable)
+    List candidateKeys = super.getExpectedCandidateKeys();
+
+    if (elementMapping instanceof EmbeddedElementPCMapping)
+    {
+      // Add all candidate keys required by fields of the embedded element
+      EmbeddedElementPCMapping embMapping = (EmbeddedElementPCMapping)elementMapping;
+      for (int i=0;i 0)
+      {
+        String[] columnNames = unimd.getColumnNames();
+        CandidateKey uniKey = new CandidateKey(this, null);
+        String unimdName = unimd.getName();
+        if (!StringUtils.isWhitespace(unimdName))
+        {
+          uniKey.setName(unimd.getName());
+        }
+
+        IdentifierFactory idFactory = storeMgr.getIdentifierFactory();
+        for (String columnName : columnNames)
+        {
+          Column col = getColumn(idFactory.newColumnIdentifier(columnName));
+          if (col != null)
+          {
+            uniKey.addColumn(col);
+          }
+          else
+          {
+            throw new NucleusUserException("Unique key on join-table " + this + " has column " + columnName + " that is not found");
+          }
+        }
+        candidateKeys.add(uniKey);
+      }
+    }
+
+    return candidateKeys;
+  }
+}
\ No newline at end of file
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml
new file mode 100644
index 000000000000..38d20fa2dbc6
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml
@@ -0,0 +1,151 @@
+
+
+
+
+    
+    
+    
+    
+    
+    
+    
+    
+    
+
+    
+    
+        
+    
+
+    
+    
+        
+    
+
+    
+    
+        
+        
+    
+
+    
+    
+        
+        
+        
+
+        
+        
+        
+        
+
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+
+        
+        
+        
+        
+        
+        
+        
+        
+        
+
+        
+        
+        
+
+        
+        
+        
+        
+        
+        
+
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+    
+
+    
+    
+        
+        
+        
+        
+    
+
+    
+    
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+    
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd
new file mode 100644
index 000000000000..8f4647e4cd63
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd
@@ -0,0 +1,181 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd
new file mode 100644
index 000000000000..71ed290f41c6
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd
@@ -0,0 +1,122 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd
new file mode 100644
index 000000000000..fec5e591b205
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd
@@ -0,0 +1,129 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd
new file mode 100644
index 000000000000..52062951c638
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd
@@ -0,0 +1,122 @@
+
+
+
+
+
+      
+         
+      
+      
+         Extension allowing definition of a factory for creating datastore identifiers.
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd
new file mode 100644
index 000000000000..416b39124776
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd
@@ -0,0 +1,132 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd
new file mode 100644
index 000000000000..669391597e6b
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd
@@ -0,0 +1,135 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd
new file mode 100644
index 000000000000..12c826fe5bfe
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd
@@ -0,0 +1,142 @@
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd
new file mode 100644
index 000000000000..a1dd86a7493e
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd
@@ -0,0 +1,136 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd
new file mode 100644
index 000000000000..e1cc2f940ae3
--- /dev/null
+++ b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd
@@ -0,0 +1,122 @@
+
+
+
+
+
+      
+         
+      
+      
+         [Enter description of this extension point.]
+      
+   
+
+   
+      
+         
+            
+         
+      
+      
+         
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+            
+               
+                  
+               
+               
+                  
+               
+            
+         
+         
+            
+               
+                  
+               
+            
+         
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter the first release in which this extension point appears.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter extension point usage example here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter API information here.]
+      
+   
+
+   
+      
+         
+      
+      
+         [Enter information about supplied implementation of this extension point.]
+      
+   
+
+
+
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index 1f85ee10cca2..d25abf8a70a1 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -26,6 +26,7 @@
   Hive Standalone Metastore
   2008
   
+    patched-datanucleus-rdbms
     metastore-common
     metastore-server
     metastore-tools
@@ -311,8 +312,8 @@
         ${datanucleus-core.version}
       
       
-        org.datanucleus
-        datanucleus-rdbms
+        org.apache.hive
+        patched-datanucleus-rdbms
         ${datanucleus-rdbms.version}
       
       

From 0100715c8bd82e414677636e401ab055463f3987 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Thu, 30 May 2024 14:00:21 +0530
Subject: [PATCH 29/62] DateTime issues fix

---
 .../hive/ql/udf/generic/TestGenericUDFDateFormat.java       | 2 +-
 .../hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java  | 3 ++-
 .../hadoop/hive/metastore/utils/TestMetaStoreUtils.java     | 6 ++++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
index 85d6d5184619..269daae5c83d 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFDateFormat.java
@@ -166,7 +166,7 @@ public void testNullFmt() throws HiveException {
   public void testWrongFmt() throws HiveException {
     GenericUDFDateFormat udf = new GenericUDFDateFormat();
     ObjectInspector valueOI0 = PrimitiveObjectInspectorFactory.writableStringObjectInspector;
-    Text fmtText = new Text("B");
+    Text fmtText = new Text("C");                                                                       // 'B' is defined as a pattern in jdk17 to represent period-of-day, changing it to pattern 'C' having no definition in jdk17
     ObjectInspector valueOI1 = PrimitiveObjectInspectorFactory
         .getPrimitiveWritableConstantObjectInspector(TypeInfoFactory.stringTypeInfo, fmtText);
     ObjectInspector[] arguments = { valueOI0, valueOI1 };
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
index 6f427ac0cfbc..2489e2fdc253 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java
@@ -167,7 +167,8 @@ public void testStringArg2() throws HiveException {
     runAndVerify(udf2,
         new Text("1400-02-01 00:00:00 ICT"),
         new Text("yyyy-MM-dd HH:mm:ss z"),
-        new LongWritable(TimestampTZUtil.parse("1400-01-31 09:00:22", ZoneId.systemDefault()).getEpochSecond()));
+        new LongWritable(TimestampTZUtil.parse("1400-01-31 09:24:58", ZoneId.systemDefault()).getEpochSecond()));                   // jdk8 & jdk17 use different IANA TZdata versions resulting
+                                                                                                                                       // in different zone rules for conversion of historical ICT time
     runAndVerify(udf2,
         new Text("1400-02-01 00:00:00 UTC"),
         new Text("yyyy-MM-dd HH:mm:ss z"),
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestMetaStoreUtils.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestMetaStoreUtils.java
index 8632f233e040..4dc60b379ad2 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestMetaStoreUtils.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestMetaStoreUtils.java
@@ -32,6 +32,7 @@
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -82,8 +83,9 @@ public void testDateToString() {
 
   @Test
   public void testTimestampToString() {
-    assertEquals(timestamp, MetaStoreUtils.convertTimestampToString(Timestamp.valueOf(timestamp)));
-  }
+    String expectedTimestampString = ZonedDateTime.parse(timestamp, FORMATTER.withZone(ZoneId.systemDefault())).format(FORMATTER);
+    assertEquals(expectedTimestampString, MetaStoreUtils.convertTimestampToString(Timestamp.valueOf(timestamp)));                         // In jdk17, Timestamp makes use of daylight savings which
+  }                                                                                                                                       // needs to be incorporated in expectedString too
 
   @Test
   public void testStringToDate() {

From 605951b6e8b1f009f9d9e2bba64bc28904e9a550 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Thu, 30 May 2024 15:03:18 +0530
Subject: [PATCH 30/62] Enable spotbugs & suppress warnings

---
 Jenkinsfile                                   |  2 +-
 .../common/CopyOnFirstWriteProperties.java    |  1 +
 .../hive/common/cli/ShellCmdExecutor.java     |  2 +
 .../datetime/HiveSqlDateTimeFormatter.java    |  2 +
 .../hive/common/io/CachingPrintStream.java    |  3 ++
 .../jsonexplain/DagJsonParserUtils.java       |  1 +
 .../hadoop/hive/common/log/InPlaceUpdate.java |  2 +
 .../hadoop/hive/common/log/LogRedirector.java |  2 +
 .../hadoop/hive/common/type/Decimal128.java   |  3 ++
 .../org/apache/hadoop/hive/conf/HiveConf.java |  2 +
 .../hive/common/util/ReflectionUtil.java      |  2 +
 .../java/org/apache/hive/http/HttpServer.java |  2 +
 .../hive/http/security/PamLoginService.java   |  3 ++
 pom.xml                                       |  8 ++--
 .../hadoop/hive/shims/Hadoop23Shims.java      |  7 ++++
 .../apache/hadoop/mapred/WebHCatJTShim23.java |  2 +
 .../hadoop/fs/ProxyLocalFileSystem.java       |  2 +
 .../org/apache/hadoop/hive/io/HdfsUtils.java  |  2 +
 .../hadoop/hive/shims/HadoopShimsSecure.java  |  2 +
 .../apache/hadoop/hive/shims/ShimLoader.java  |  2 +
 .../hadoop/hive/thrift/TFilterTransport.java  |  2 +
 .../hive/thrift/TUGIContainingTransport.java  |  3 ++
 .../thrift/client/TUGIAssumingTransport.java  |  2 +
 .../hadoop/util/SuppressFBWarnings.java       | 38 +++++++++++++++++++
 standalone-metastore/metastore-common/pom.xml |  8 ++--
 .../hive/common/ZKDeRegisterWatcher.java      |  4 +-
 .../common/metrics/common/MetricsFactory.java |  3 +-
 .../metrics/metrics2/CodahaleMetrics.java     |  2 +
 .../metrics/metrics2/JmxMetricsReporter.java  |  2 +
 .../metrics2/JsonFileMetricsReporter.java     |  2 +
 .../metrics/metrics2/Metrics2Reporter.java    |  2 +
 .../hive/common/util/SuppressFBWarnings.java  | 19 +++++++++-
 .../hadoop/hive/metastore/CheckResult.java    | 13 +++++++
 .../hive/metastore/FileMetadataHandler.java   |  2 +
 .../hive/metastore/HiveMetaStoreClient.java   |  3 ++
 .../hive/metastore/LockComponentBuilder.java  |  3 ++
 .../hive/metastore/LockRequestBuilder.java    |  2 +
 .../hive/metastore/ReplChangeManager.java     |  4 ++
 .../hadoop/hive/metastore/TableIterable.java  |  3 ++
 .../hadoop/hive/metastore/Warehouse.java      |  2 +
 .../hive/metastore/conf/MetastoreConf.java    |  1 +
 .../hadoop/hive/metastore/ldap/Query.java     |  4 ++
 .../metastore/ldap/SearchResultHandler.java   |  3 ++
 .../spec/CompositePartitionSpecProxy.java     |  3 ++
 .../spec/PartitionListComposingSpecProxy.java |  2 +
 .../partition/spec/PartitionSpecProxy.java    |  3 ++
 .../spec/PartitionSpecWithSharedSDProxy.java  |  2 +
 .../security/HadoopThriftAuthBridge.java      |  2 +
 .../metastore/security/TFilterTransport.java  |  2 +
 .../security/TUGIAssumingTransport.java       |  2 +
 .../hive/metastore/utils/FileUtils.java       |  2 +
 .../hive/metastore/utils/HdfsUtils.java       |  2 +
 .../hive/metastore/utils/JavaUtils.java       |  2 +
 standalone-metastore/metastore-server/pom.xml |  6 +--
 standalone-metastore/pom.xml                  | 10 +++--
 .../hadoop/hive/common/DiskRangeInfo.java     |  3 ++
 .../hive/common/MaterializationSnapshot.java  |  3 ++
 .../hadoop/hive/common/io/DiskRangeList.java  |  3 ++
 .../common/io/encoded/EncodedColumnBatch.java |  3 ++
 .../ql/exec/vector/Decimal64ColumnVector.java |  2 +
 .../vector/IntervalDayTimeColumnVector.java   |  5 +++
 .../ql/exec/vector/TimestampColumnVector.java |  2 +
 .../hive/ql/io/sarg/ExpressionTree.java       |  3 ++
 .../hive/ql/io/sarg/SearchArgumentImpl.java   |  4 ++
 64 files changed, 226 insertions(+), 19 deletions(-)
 create mode 100644 shims/common/src/main/java/org/apache/hadoop/util/SuppressFBWarnings.java

diff --git a/Jenkinsfile b/Jenkinsfile
index edac4894a52c..eb5d8494793a 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -262,7 +262,7 @@ if [ $n != 0 ]; then
   exit 1
 fi
 '''
-//         buildHive("-Pspotbugs -pl " + spotbugsProjects.join(",") + " -am test-compile com.github.spotbugs:spotbugs-maven-plugin:4.0.0:check")
+         buildHive("-Pspotbugs -pl " + spotbugsProjects.join(",") + " -am test-compile com.github.spotbugs:spotbugs-maven-plugin:4.5.0.0:check")
       }
       stage('Compile') {
         buildHive("install -Dtest=noMatches")
diff --git a/common/src/java/org/apache/hadoop/hive/common/CopyOnFirstWriteProperties.java b/common/src/java/org/apache/hadoop/hive/common/CopyOnFirstWriteProperties.java
index 41a81cc22540..41e7b883ce3c 100644
--- a/common/src/java/org/apache/hadoop/hive/common/CopyOnFirstWriteProperties.java
+++ b/common/src/java/org/apache/hadoop/hive/common/CopyOnFirstWriteProperties.java
@@ -361,6 +361,7 @@ public void setInterned(Properties p) {
   public CopyOnFirstWriteProperties() {
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Properties getInterned() {
     return interned;
   }
diff --git a/common/src/java/org/apache/hadoop/hive/common/cli/ShellCmdExecutor.java b/common/src/java/org/apache/hadoop/hive/common/cli/ShellCmdExecutor.java
index e89327002424..b2ab557d66e0 100644
--- a/common/src/java/org/apache/hadoop/hive/common/cli/ShellCmdExecutor.java
+++ b/common/src/java/org/apache/hadoop/hive/common/cli/ShellCmdExecutor.java
@@ -22,12 +22,14 @@
 import java.io.PrintStream;
 
 import org.apache.hive.common.util.StreamPrinter;
+import org.apache.hive.common.util.SuppressFBWarnings;
 
 public class ShellCmdExecutor {
   private String cmd;
   private PrintStream out;
   private PrintStream err;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public ShellCmdExecutor(String cmd, PrintStream out, PrintStream err) {
     this.cmd = cmd;
     this.out = out;
diff --git a/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java b/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java
index f01bb6bb388e..be100464c9dd 100644
--- a/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java
+++ b/common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java
@@ -28,6 +28,7 @@
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.hadoop.hive.common.type.Date;
 import org.apache.hadoop.hive.common.type.Timestamp;
+import org.apache.hive.common.util.SuppressFBWarnings;
 
 import java.io.Serializable;
 import java.time.DateTimeException;
@@ -520,6 +521,7 @@ public Token(TokenType tokenType, String string) {
       this(tokenType, null, null, string, string.length(), false);
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public Token(TokenType tokenType, TemporalField temporalField, TemporalUnit temporalUnit,
         String string, int length, boolean fillMode) {
       this.type = tokenType;
diff --git a/common/src/java/org/apache/hadoop/hive/common/io/CachingPrintStream.java b/common/src/java/org/apache/hadoop/hive/common/io/CachingPrintStream.java
index 70dab87dffd5..d98b064d6223 100644
--- a/common/src/java/org/apache/hadoop/hive/common/io/CachingPrintStream.java
+++ b/common/src/java/org/apache/hadoop/hive/common/io/CachingPrintStream.java
@@ -18,6 +18,8 @@
 
 package org.apache.hadoop.hive.common.io;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
+
 import java.io.FileNotFoundException;
 import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
@@ -52,6 +54,7 @@ public void flush() {
     super.flush();
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public List getOutput() {
     return output;
   }
diff --git a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/DagJsonParserUtils.java b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/DagJsonParserUtils.java
index 4590fefc052f..c4a44a03c801 100644
--- a/common/src/java/org/apache/hadoop/hive/common/jsonexplain/DagJsonParserUtils.java
+++ b/common/src/java/org/apache/hadoop/hive/common/jsonexplain/DagJsonParserUtils.java
@@ -31,6 +31,7 @@ public class DagJsonParserUtils {
   private static final List operatorNoStats = Arrays.asList(new String[] { "File Output Operator",
       "Reduce Output Operator" });
 
+  @SuppressFBWarnings(value = "MS_EXPOSE_REP", justification = "intended_to_do")
   public static List getOperatorNoStats() {
     return operatorNoStats;
   }
diff --git a/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java b/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java
index fe55e7267d3e..bddcbb322135 100644
--- a/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java
+++ b/common/src/java/org/apache/hadoop/hive/common/log/InPlaceUpdate.java
@@ -19,6 +19,7 @@
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.fusesource.jansi.Ansi;
 
 import java.io.PrintStream;
@@ -51,6 +52,7 @@ public class InPlaceUpdate {
   private int lines = 0;
   private PrintStream out;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public InPlaceUpdate(PrintStream out) {
     this.out = out;
   }
diff --git a/common/src/java/org/apache/hadoop/hive/common/log/LogRedirector.java b/common/src/java/org/apache/hadoop/hive/common/log/LogRedirector.java
index 3d6909769c3b..469fec398ea7 100644
--- a/common/src/java/org/apache/hadoop/hive/common/log/LogRedirector.java
+++ b/common/src/java/org/apache/hadoop/hive/common/log/LogRedirector.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hive.common.log;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 
 import java.io.BufferedReader;
@@ -50,6 +51,7 @@ public LogRedirector(InputStream in, Logger logger, LogSourceCallback callback)
     this.logger = logger;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public LogRedirector(InputStream in, Logger logger, List errLogs,
                        LogSourceCallback callback) {
     this.in = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
diff --git a/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java b/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java
index 395c143baedb..0c88831c2fd5 100644
--- a/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java
+++ b/common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java
@@ -24,6 +24,7 @@
 import java.nio.IntBuffer;
 
 import org.apache.hive.common.util.Decimal128FastBuffer;
+import org.apache.hive.common.util.SuppressFBWarnings;
 
 /**
  * This code was based on code from Microsoft's PolyBase.
@@ -1476,6 +1477,7 @@ public short getScale() {
    *
    * @return the unscaled value of this {@code Decimal128}.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public UnsignedInt128 getUnscaledValue() {
     return unscaledValue;
   }
@@ -1965,6 +1967,7 @@ public Decimal128 fastUpdateFromInternalStorage(byte[] internalStorage, short sc
   /**
    * This setter is only for de-serialization, should not be used otherwise.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setUnscaledValue(UnsignedInt128 unscaledValue) {
     this.unscaledValue = unscaledValue;
   }
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index d33d60e7b0f5..efa3c93592c3 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -458,6 +458,7 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal
    * Get a set containing configuration parameter names used by LLAP Server instances
    * @return an unmodifiable set containing llap ConfVars
    */
+  @SuppressFBWarnings(value="MS_EXPOSE_REP", justification = "intended_to_do")
   public static final Set getLlapDaemonConfVars() {
     return llapDaemonVarsSet;
   }
@@ -7163,6 +7164,7 @@ public static String generateDeprecationWarning() {
   private static final Object reverseMapLock = new Object();
   private static HashMap reverseMap = null;
 
+  @SuppressFBWarnings(value = "MS_EXPOSE_REP", justification = "intended_to_do")
   public static HashMap getOrCreateReverseMap() {
     // This should be called rarely enough; for now it's ok to just lock every time.
     synchronized (reverseMapLock) {
diff --git a/common/src/java/org/apache/hive/common/util/ReflectionUtil.java b/common/src/java/org/apache/hive/common/util/ReflectionUtil.java
index 3163a29b654a..42fcbaa40f8d 100644
--- a/common/src/java/org/apache/hive/common/util/ReflectionUtil.java
+++ b/common/src/java/org/apache/hive/common/util/ReflectionUtil.java
@@ -127,6 +127,7 @@ private static void setJobConf(Object theObject, Configuration conf) {
    * @param value new value
    * @throws RuntimeException in case the field is not found or cannot be set.
    */
+  @SuppressFBWarnings(value = "REFLF_REFLECTION_MAY_INCREASE_ACCESSIBILITY_OF_FIELD", justification = "intended_to_do")
   public static void setField(Object object, String field, Object value) {
     try {
       Field fieldToChange = object.getClass().getDeclaredField(field);
@@ -137,6 +138,7 @@ public static void setField(Object object, String field, Object value) {
     }
   }
 
+  @SuppressFBWarnings(value = "RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE", justification = "intended_to_do")
   public static void setField(Object object, Field fld, Object value) {
     try {
       fld.setAccessible(true);
diff --git a/common/src/java/org/apache/hive/http/HttpServer.java b/common/src/java/org/apache/hive/http/HttpServer.java
index edd834bf7d4b..f89d9228e5ea 100644
--- a/common/src/java/org/apache/hive/http/HttpServer.java
+++ b/common/src/java/org/apache/hive/http/HttpServer.java
@@ -63,6 +63,7 @@
 import org.apache.hadoop.security.authorize.AccessControlList;
 import org.apache.hadoop.hive.common.classification.InterfaceAudience;
 import org.apache.hadoop.security.http.CrossOriginFilter;
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.apache.hive.http.security.PamAuthenticator;
 import org.apache.hive.http.security.PamConstraint;
 import org.apache.hive.http.security.PamConstraintMapping;
@@ -250,6 +251,7 @@ public Builder setUsePAM(boolean usePAM) {
       return this;
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public Builder setPAMAuthenticator(PamAuthenticator pamAuthenticator){
       this.pamAuthenticator = pamAuthenticator;
       return this;
diff --git a/common/src/java/org/apache/hive/http/security/PamLoginService.java b/common/src/java/org/apache/hive/http/security/PamLoginService.java
index 8cf725ad9cfc..a8b354136fc9 100644
--- a/common/src/java/org/apache/hive/http/security/PamLoginService.java
+++ b/common/src/java/org/apache/hive/http/security/PamLoginService.java
@@ -16,6 +16,7 @@
  */
 package org.apache.hive.http.security;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.eclipse.jetty.security.DefaultIdentityService;
 import org.eclipse.jetty.security.IdentityService;
 import org.eclipse.jetty.security.LoginService;
@@ -59,11 +60,13 @@ public boolean validate(UserIdentity user) {
   }
 
   @Override
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public IdentityService getIdentityService() {
     return identityService;
   }
 
   @Override
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setIdentityService(IdentityService identityService) {
     if (isRunning())
       throw new IllegalStateException("Running");
diff --git a/pom.xml b/pom.xml
index 1cb2ea41cdd0..3c0e56d8da6d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -221,7 +221,7 @@
     2.9.0
     3.0.11
     1.2.0
-    4.0.3
+    4.5.0
     1.1.0.Final
     1.0.1
     1.12.499
@@ -2040,11 +2040,11 @@
       spotbugs
       
         
-          
+          
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               
               
@@ -2067,7 +2067,7 @@
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               true
               2048
diff --git a/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java b/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java
index d4d6235d8324..d12dfa4ac7d2 100644
--- a/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java
+++ b/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java
@@ -293,11 +293,13 @@ public class MiniMrShim implements HadoopShims.MiniMrShim {
     private final MiniMRCluster mr;
     private final Configuration conf;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public MiniMrShim() {
       mr = null;
       conf = null;
     }
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public MiniMrShim(Configuration conf, int numberOfTaskTrackers,
                       String nameNode, int numDir) throws IOException {
       this.conf = conf;
@@ -353,6 +355,7 @@ public class MiniTezLocalShim extends Hadoop23Shims.MiniMrShim {
     private final Configuration conf;
     private final boolean isLlap;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public MiniTezLocalShim(Configuration conf, boolean usingLlap) {
       this.conf = conf;
       this.isLlap = usingLlap;
@@ -407,6 +410,7 @@ public class MiniTezShim extends Hadoop23Shims.MiniMrShim {
     private final Configuration conf;
     private final boolean isLlap;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public MiniTezShim(Configuration conf, int numberOfTaskTrackers, String nameNode,
                        boolean usingLlap) throws IOException {
       mr = new MiniTezCluster("hive", numberOfTaskTrackers);
@@ -553,6 +557,7 @@ private static void setKeyProvider(DFSClient dfsClient, KeyProviderCryptoExtensi
   public static class MiniDFSShim implements HadoopShims.MiniDFSShim {
     private final MiniDFSCluster cluster;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public MiniDFSShim(MiniDFSCluster cluster) {
       this.cluster = cluster;
     }
@@ -1005,6 +1010,7 @@ public static class StoragePolicyShim implements HadoopShims.StoragePolicyShim {
 
     private final DistributedFileSystem dfs;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public StoragePolicyShim(DistributedFileSystem fs) {
       this.dfs = fs;
     }
@@ -1334,6 +1340,7 @@ public static class HdfsEncryptionShim implements HadoopShims.HdfsEncryptionShim
 
     private final Configuration conf;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public HdfsEncryptionShim(URI uri, Configuration conf) throws IOException {
       this.conf = conf;
       this.hdfsAdmin = new HdfsAdmin(uri, conf);
diff --git a/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java b/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
index 5e40fdb7e5ce..01811eab8736 100644
--- a/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
+++ b/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.mapred;
 
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -51,6 +52,7 @@ public class WebHCatJTShim23 implements WebHCatJTShim {
   /**
    * Create a connection to the Job Tracker.
    */
+  @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
   public WebHCatJTShim23(final Configuration conf, final UserGroupInformation ugi)
           throws IOException {
     try {
diff --git a/shims/common/src/main/java/org/apache/hadoop/fs/ProxyLocalFileSystem.java b/shims/common/src/main/java/org/apache/hadoop/fs/ProxyLocalFileSystem.java
index 83bb39b49240..7421c461ca44 100644
--- a/shims/common/src/main/java/org/apache/hadoop/fs/ProxyLocalFileSystem.java
+++ b/shims/common/src/main/java/org/apache/hadoop/fs/ProxyLocalFileSystem.java
@@ -27,6 +27,7 @@
 import org.apache.hadoop.util.Shell;
 import org.apache.hadoop.hive.shims.ShimLoader;
 import org.apache.hadoop.io.MD5Hash;
+import org.apache.hadoop.util.SuppressFBWarnings;
 
 /****************************************************************
  * A Proxy for LocalFileSystem
@@ -119,6 +120,7 @@ public static class PFileChecksum extends FileChecksum {
     private MD5Hash md5;
     private String algorithmName;
 
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public PFileChecksum(MD5Hash md5, String algorithmName) {
       this.md5 = md5;
       this.algorithmName = algorithmName;
diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/io/HdfsUtils.java b/shims/common/src/main/java/org/apache/hadoop/hive/io/HdfsUtils.java
index adf4d41e5e17..d74c16b5367b 100644
--- a/shims/common/src/main/java/org/apache/hadoop/hive/io/HdfsUtils.java
+++ b/shims/common/src/main/java/org/apache/hadoop/hive/io/HdfsUtils.java
@@ -39,6 +39,7 @@
 import org.apache.hadoop.fs.permission.FsAction;
 import org.apache.hadoop.fs.permission.FsPermission;
 
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -211,6 +212,7 @@ public HadoopFileStatus(Configuration conf, FileSystem fs, Path file) throws IOE
     this.aclStatus = aclStatus;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public FileStatus getFileStatus() {
     return fileStatus;
   }
diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java b/shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java
index 9567a3d735f9..af87090a0116 100644
--- a/shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java
+++ b/shims/common/src/main/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java
@@ -31,6 +31,7 @@
 import java.util.Set;
 
 import org.apache.commons.lang3.ArrayUtils;
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -185,6 +186,7 @@ public float getProgress() throws IOException {
      * A generic RecordReader that can hand out different recordReaders
      * for each chunk in the CombineFileSplit.
      */
+    @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
     public CombineFileRecordReader(JobConf job, CombineFileSplit split,
         Reporter reporter,
         Class> rrClass)
diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/shims/ShimLoader.java b/shims/common/src/main/java/org/apache/hadoop/hive/shims/ShimLoader.java
index 20b0f60581fe..6f9b45c3a399 100644
--- a/shims/common/src/main/java/org/apache/hadoop/hive/shims/ShimLoader.java
+++ b/shims/common/src/main/java/org/apache/hadoop/hive/shims/ShimLoader.java
@@ -20,6 +20,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.apache.hadoop.util.VersionInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -74,6 +75,7 @@ public abstract class ShimLoader {
    * Factory method to get an instance of HadoopShims based on the
    * version of Hadoop on the classpath.
    */
+  @SuppressFBWarnings(value="MS_EXPOSE_REP", justification = "intended_to_do")
   public static HadoopShims getHadoopShims() {
     if (hadoopShims == null) {
       synchronized (ShimLoader.class) {
diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TFilterTransport.java b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TFilterTransport.java
index 29b13fb83ae5..951dafbe03e9 100644
--- a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TFilterTransport.java
+++ b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TFilterTransport.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.thrift;
 
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.apache.thrift.TConfiguration;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
@@ -29,6 +30,7 @@
  public class TFilterTransport extends TTransport {
    protected final TTransport wrapped;
 
+  @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
    public TFilterTransport(TTransport wrapped) {
      this.wrapped = wrapped;
    }
diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TUGIContainingTransport.java b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TUGIContainingTransport.java
index 0936354580de..d713721e8348 100644
--- a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TUGIContainingTransport.java
+++ b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/TUGIContainingTransport.java
@@ -22,6 +22,7 @@
 import java.util.concurrent.ConcurrentMap;
 
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.apache.thrift.transport.TSocket;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportFactory;
@@ -40,10 +41,12 @@ public TUGIContainingTransport(TTransport wrapped) {
     super(wrapped);
   }
 
+  @SuppressFBWarnings(value="EI_EXPOSE_REP", justification = "intended_to_do")
   public UserGroupInformation getClientUGI(){
     return ugi;
   }
 
+  @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setClientUGI(UserGroupInformation ugi){
     this.ugi = ugi;
   }
diff --git a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java
index 0c9f81c37aa5..a1c753459b08 100644
--- a/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java
+++ b/shims/common/src/main/java/org/apache/hadoop/hive/thrift/client/TUGIAssumingTransport.java
@@ -23,6 +23,7 @@
 
 import org.apache.hadoop.hive.thrift.TFilterTransport;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.util.SuppressFBWarnings;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 
@@ -38,6 +39,7 @@
  public class TUGIAssumingTransport extends TFilterTransport {
    protected UserGroupInformation ugi;
 
+  @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
    public TUGIAssumingTransport(TTransport wrapped, UserGroupInformation ugi) {
      super(wrapped);
      this.ugi = ugi;
diff --git a/shims/common/src/main/java/org/apache/hadoop/util/SuppressFBWarnings.java b/shims/common/src/main/java/org/apache/hadoop/util/SuppressFBWarnings.java
new file mode 100644
index 000000000000..c2d2b8dc0a99
--- /dev/null
+++ b/shims/common/src/main/java/org/apache/hadoop/util/SuppressFBWarnings.java
@@ -0,0 +1,38 @@
+/*
+ * 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.hadoop.util;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.CLASS)
+public @interface SuppressFBWarnings {
+    /**
+     * The set of FindBugs warnings that are to be suppressed in
+     * annotated element. The value can be a bug category, kind or pattern.
+     *
+     */
+    String[] value() default {};
+
+    /**
+     * Optional documentation of the reason why the warning is suppressed
+     */
+    String justification() default "";
+}
+
diff --git a/standalone-metastore/metastore-common/pom.xml b/standalone-metastore/metastore-common/pom.xml
index 12f946749ad4..3d827efb361d 100644
--- a/standalone-metastore/metastore-common/pom.xml
+++ b/standalone-metastore/metastore-common/pom.xml
@@ -440,13 +440,13 @@
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               
               
                 com.github.spotbugs
                 spotbugs
-                4.0.3
+                ${spotbugs.version}
               
             
             
@@ -454,6 +454,7 @@
               2048
               -Djava.awt.headless=true -Xmx2048m -Xms512m
               ${basedir}/${standalone.metastore.path.to.root}/spotbugs/spotbugs-exclude.xml
+              60000000
             
           
         
@@ -463,12 +464,13 @@
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               true
               2048
               -Djava.awt.headless=true -Xmx2048m -Xms512m
               ${basedir}/${standalone.metastore.path.to.root}/spotbugs/spotbugs-exclude.xml
+              60000000
             
           
         
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/ZKDeRegisterWatcher.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/ZKDeRegisterWatcher.java
index 8ac9c201f862..18ed3a6c6487 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/ZKDeRegisterWatcher.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/ZKDeRegisterWatcher.java
@@ -20,13 +20,13 @@
 
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
-
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 /**
  * The watcher class which sets the de-register flag when the given znode is deleted.
  */
 public class ZKDeRegisterWatcher implements Watcher {
   private ZooKeeperHiveHelper zooKeeperHiveHelper;
-
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2",justification = "intended_to_do")
   public ZKDeRegisterWatcher(ZooKeeperHiveHelper zooKeeperHiveHelper) {
     this.zooKeeperHiveHelper = zooKeeperHiveHelper;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/common/MetricsFactory.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/common/MetricsFactory.java
index a4a9f646923b..1924228f8bdc 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/common/MetricsFactory.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/common/MetricsFactory.java
@@ -21,7 +21,7 @@
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 
 import java.lang.reflect.Constructor;
-
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 /**
  * Class that manages a static Metric instance for this process.
  */
@@ -46,6 +46,7 @@ public synchronized static void init(Configuration conf) throws Exception {
   /**
    * Returns static Metrics instance, null if not initialized or closed.
    */
+  @SuppressFBWarnings(value = "MS_EXPOSE_REP", justification="intended_to_do")
   public static Metrics getInstance() {
     return metrics;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/CodahaleMetrics.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/CodahaleMetrics.java
index a69e66398880..1ca04c0d617e 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/CodahaleMetrics.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/CodahaleMetrics.java
@@ -49,6 +49,7 @@
 import org.apache.hadoop.hive.common.metrics.common.MetricsScope;
 import org.apache.hadoop.hive.common.metrics.common.MetricsVariable;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -143,6 +144,7 @@ public void close() {
     }
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public CodahaleMetrics(Configuration conf) {
     this.conf = conf;
     //Codahale artifacts are lazily-created.
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JmxMetricsReporter.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JmxMetricsReporter.java
index 5bd55dc715a9..536dacc587b3 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JmxMetricsReporter.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JmxMetricsReporter.java
@@ -22,6 +22,7 @@
 import java.util.concurrent.TimeUnit;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 
 /**
  * A wrapper around Codahale JmxReporter to make it a pluggable/configurable Hive Metrics reporter.
@@ -32,6 +33,7 @@ public class JmxMetricsReporter implements CodahaleReporter {
   private final Configuration conf;
   private final JmxReporter jmxReporter;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public JmxMetricsReporter(MetricRegistry registry, Configuration conf) {
     this.registry = registry;
     this.conf = conf;
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JsonFileMetricsReporter.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JsonFileMetricsReporter.java
index 4038d66b7327..0a07b6e6ef94 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JsonFileMetricsReporter.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/JsonFileMetricsReporter.java
@@ -25,6 +25,7 @@
 import com.fasterxml.jackson.databind.ObjectWriter;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -93,6 +94,7 @@ public class JsonFileMetricsReporter implements CodahaleReporter, Runnable {
   // Directory where path resides
   private final Path metricsDir;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public JsonFileMetricsReporter(MetricRegistry registry, Configuration conf) {
     this.metricRegistry = registry;
     this.jsonWriter =
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/Metrics2Reporter.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/Metrics2Reporter.java
index 347a46417cf4..4c16abee30ab 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/Metrics2Reporter.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/metrics/metrics2/Metrics2Reporter.java
@@ -22,6 +22,7 @@
 import java.util.concurrent.TimeUnit;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem;
 
@@ -33,6 +34,7 @@ public class Metrics2Reporter implements CodahaleReporter {
   private final Configuration conf;
   private final HadoopMetrics2Reporter reporter;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public Metrics2Reporter(MetricRegistry registry, Configuration conf) {
     this.conf = conf;
     String applicationName = MetastoreConf.getVar(conf, MetastoreConf.ConfVars.METRICS_HADOOP2_COMPONENT_NAME);
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java
index ad5897496d77..34de510a57de 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/common/util/SuppressFBWarnings.java
@@ -16,5 +16,22 @@
  * limitations under the License.
  */
 
-package org.apache.hadoop.hive.common.util;public @interface SuppressFBWarnings {
+package org.apache.hadoop.hive.common.util;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.CLASS)
+public @interface SuppressFBWarnings {
+    /**
+     * The set of FindBugs warnings that are to be suppressed in
+     * annotated element. The value can be a bug category, kind or pattern.
+     *
+     */
+    String[] value() default {};
+
+    /**
+     * Optional documentation of the reason why the warning is suppressed
+     */
+    String justification() default "";
 }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/CheckResult.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/CheckResult.java
index 9807138c1172..e1464fafd788 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/CheckResult.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/CheckResult.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hive.metastore;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 
 import java.util.Map;
@@ -42,6 +43,7 @@ public class CheckResult {
   /**
    * @return a list of tables not found on the filesystem.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Set getTablesNotOnFs() {
     return tablesNotOnFs;
   }
@@ -50,6 +52,7 @@ public Set getTablesNotOnFs() {
    * @param tablesNotOnFs
    *          a list of tables not found on the filesystem.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setTablesNotOnFs(Set tablesNotOnFs) {
     this.tablesNotOnFs = tablesNotOnFs;
   }
@@ -57,6 +60,7 @@ public void setTablesNotOnFs(Set tablesNotOnFs) {
   /**
    * @return a list of tables not found in the metastore.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Set getTablesNotInMs() {
     return tablesNotInMs;
   }
@@ -65,6 +69,7 @@ public Set getTablesNotInMs() {
    * @param tablesNotInMs
    *          a list of tables not found in the metastore.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setTablesNotInMs(Set tablesNotInMs) {
     this.tablesNotInMs = tablesNotInMs;
   }
@@ -72,6 +77,7 @@ public void setTablesNotInMs(Set tablesNotInMs) {
   /**
    * @return a list of partitions not found on the fs
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Set getPartitionsNotOnFs() {
     return partitionsNotOnFs;
   }
@@ -80,6 +86,7 @@ public Set getPartitionsNotOnFs() {
    * @param partitionsNotOnFs
    *          a list of partitions not found on the fs
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setPartitionsNotOnFs(Set partitionsNotOnFs) {
     this.partitionsNotOnFs = partitionsNotOnFs;
   }
@@ -87,6 +94,7 @@ public void setPartitionsNotOnFs(Set partitionsNotOnFs) {
   /**
    * @return a list of partitions not found in the metastore
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Set getPartitionsNotInMs() {
     return partitionsNotInMs;
   }
@@ -95,22 +103,27 @@ public Set getPartitionsNotInMs() {
    * @param partitionsNotInMs
    *          a list of partitions not found in the metastore
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setPartitionsNotInMs(Set partitionsNotInMs) {
     this.partitionsNotInMs = partitionsNotInMs;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Set getExpiredPartitions() {
     return expiredPartitions;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setExpiredPartitions(final Set expiredPartitions) {
     this.expiredPartitions = expiredPartitions;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Set getCorrectPartitions() {
     return this.correctPartitions;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setCorrectPartitions(final Set correctPartitions) {
     this.correctPartitions = correctPartitions;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java
index 73917fc54287..509a4e17a772 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/FileMetadataHandler.java
@@ -25,6 +25,7 @@
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.FileMetadataExprType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -69,6 +70,7 @@ protected MetadataStore getStore() {
    * @param expressionProxy Expression proxy to access ql stuff.
    * @param store Storage interface to manipulate the metadata.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void configure(
       Configuration conf, PartitionExpressionProxy expressionProxy, MetadataStore store) {
     this.conf = conf;
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index 32beb5831d06..d776bd3e35b2 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -66,6 +66,7 @@
 import org.apache.hadoop.hive.common.ValidTxnList;
 import org.apache.hadoop.hive.common.ValidTxnWriteIdList;
 import org.apache.hadoop.hive.common.ValidWriteIdList;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.*;
 import org.apache.hadoop.hive.metastore.api.Package;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
@@ -429,6 +430,7 @@ synchronized private URIResolverHook loadUriResolverHook() throws IllegalStateEx
    * Swaps the first element of the metastoreUris array with a random element from the
    * remainder of the array.
    */
+  @SuppressFBWarnings(value ="DMI_RANDOM_USED_ONLY_ONCE", justification = "intended_to_do")
   private void promoteRandomMetaStoreURI() {
     if (metastoreUris.length <= 1) {
       return;
@@ -441,6 +443,7 @@ private void promoteRandomMetaStoreURI() {
   }
 
   @VisibleForTesting
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public TTransport getTTransport() {
     return transport;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockComponentBuilder.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockComponentBuilder.java
index da6d6342d95f..1f44c0812e28 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockComponentBuilder.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockComponentBuilder.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hive.metastore;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.DataOperationType;
 import org.apache.hadoop.hive.metastore.api.LockComponent;
 import org.apache.hadoop.hive.metastore.api.LockLevel;
@@ -66,6 +67,7 @@ public LockComponentBuilder setSharedWrite() {
    * Set the lock to be shared_read.
    * @return reference to this builder
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public LockComponentBuilder setSharedRead() {
     component.setType(LockType.SHARED_READ);
     return this;
@@ -120,6 +122,7 @@ public LockComponentBuilder setIsDynamicPartitionWrite(boolean t) {
    * Get the constructed lock component.
    * @return lock component.
    */
+ @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public LockComponent build() {
     LockLevel level = LockLevel.DB;
     if (tableNameSet) level = LockLevel.TABLE;
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java
index 7b4aeaeb80e6..acc9391a5d05 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hive.metastore;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.DataOperationType;
 import org.apache.hadoop.hive.metastore.api.LockComponent;
 import org.apache.hadoop.hive.metastore.api.LockRequest;
@@ -56,6 +57,7 @@ public LockRequestBuilder(String agentInfo) {
    * Get the constructed LockRequest.
    * @return lock request
    */
+  @SuppressFBWarnings(value="EI_EXPOSE_REP", justification = "intended_to_do")
   public LockRequest build() {
     if (!userSet) {
       throw new RuntimeException("Cannot build a lock without giving a user");
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ReplChangeManager.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ReplChangeManager.java
index a0680ca4234b..f2e8955b6eb0 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ReplChangeManager.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ReplChangeManager.java
@@ -46,6 +46,7 @@
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.hdfs.DFSConfigKeys;
 import org.apache.hadoop.hive.common.repl.ReplConst;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.Database;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Table;
@@ -100,6 +101,7 @@ public static class FileInfo {
     public FileInfo(FileSystem srcFs, Path sourcePath, String subDir) {
       this(srcFs, sourcePath, null, null, true, subDir);
     }
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public FileInfo(FileSystem srcFs, Path sourcePath, Path cmPath,
                     String checkSum, boolean useSourcePath, String subDir) {
       this.srcFs = srcFs;
@@ -110,6 +112,7 @@ public FileInfo(FileSystem srcFs, Path sourcePath, Path cmPath,
       this.subDir = subDir;
       this.copyDone = false;
     }
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public FileSystem getSrcFs() {
       return srcFs;
     }
@@ -475,6 +478,7 @@ public static class CMClearer implements Runnable {
     private long secRetain;
     private Configuration conf;
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public CMClearer(long secRetain, Configuration conf) {
       this.encryptionZones = encryptionZoneToCmrootMapping;
       this.secRetain = secRetain;
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/TableIterable.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/TableIterable.java
index 1a17fe31c365..e33b5c6e45ea 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/TableIterable.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/TableIterable.java
@@ -22,6 +22,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.Table;
 import org.apache.thrift.TException;
 
@@ -95,6 +96,7 @@ public void remove() {
    * Primary constructor that fetches all tables in a given msc, given a Hive
    * object,a db name and a table name list.
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public TableIterable(IMetaStoreClient msc, String dbname, List tableNames, int batchSize)
       throws TException {
     this.msc = msc;
@@ -104,6 +106,7 @@ public TableIterable(IMetaStoreClient msc, String dbname, List tableName
     this.batchSize = batchSize;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public TableIterable(IMetaStoreClient msc, String catName, String dbname, List
           tableNames, int batchSize) throws TException {
     this.msc = msc;
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/Warehouse.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/Warehouse.java
index 2952276020c7..566964c44256 100755
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/Warehouse.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/Warehouse.java
@@ -34,6 +34,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.fs.PathFilter;
 import org.apache.hadoop.hive.common.TableName;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.Catalog;
 import org.apache.hadoop.hive.metastore.api.DatabaseType;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
@@ -86,6 +87,7 @@ public class Warehouse {
   private boolean storageAuthCheck = false;
   private ReplChangeManager cm = null;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public Warehouse(Configuration conf) throws MetaException {
     this.conf = conf;
     whRootString = MetastoreConf.getVar(conf, ConfVars.WAREHOUSE);
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
index 713a45aa6f7c..92e551b72add 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java
@@ -2377,6 +2377,7 @@ public static void setBoolVar(Configuration conf, ConfVars var, boolean val) {
    * @param var variable to retrieve
    * @return value, or default value if value not in config file
    */
+  @SuppressFBWarnings(value = "DM_BOXED_PRIMITIVE_FOR_PARSING", justification = "intended_to_do")
   public static double getDoubleVar(Configuration conf, ConfVars var) {
     assert var.defaultVal.getClass() == Double.class;
     String val = conf.get(var.varname);
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/Query.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/Query.java
index fb4a409ffbb2..6806f9412cca 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/Query.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/Query.java
@@ -21,6 +21,8 @@
 import java.util.ArrayList;
 import java.util.List;
 import javax.naming.directory.SearchControls;
+
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.stringtemplate.v4.ST;
 
 /**
@@ -38,6 +40,7 @@ public final class Query {
    * @param filter search filter
    * @param controls search controls
    */
+  @SuppressFBWarnings(value="EI_EXPOSE_REP2", justification = "intended_to_do")
   public Query(String filter, SearchControls controls) {
     this.filter = filter;
     this.controls = controls;
@@ -55,6 +58,7 @@ public String getFilter() {
    * Returns search controls.
    * @return search controls
    */
+  @SuppressFBWarnings(value="EI_EXPOSE_REP", justification = "intended_to_do")
   public SearchControls getControls() {
     return controls;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/SearchResultHandler.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/SearchResultHandler.java
index 88704cec2258..aab39f55d109 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/SearchResultHandler.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/ldap/SearchResultHandler.java
@@ -24,6 +24,8 @@
 import javax.naming.NamingException;
 import javax.naming.directory.Attribute;
 import javax.naming.directory.SearchResult;
+
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,6 +43,7 @@ public final class SearchResultHandler {
    * Constructs a search result handler object for the provided search results.
    * @param searchResults directory service search results
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public SearchResultHandler(Collection> searchResults) {
     this.searchResults = searchResults;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/CompositePartitionSpecProxy.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/CompositePartitionSpecProxy.java
index 91d790aa6473..f9f35af7c5d9 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/CompositePartitionSpecProxy.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/CompositePartitionSpecProxy.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.metastore.partition.spec;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PartitionSpec;
@@ -107,6 +108,7 @@ public static class Iterator implements PartitionIterator {
     private int index = -1; // Index into partitionSpecs.
     private PartitionIterator iterator = null;
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public Iterator(CompositePartitionSpecProxy composite) {
       this.composite = composite;
       this.partitionSpecProxies = composite.partitionSpecProxies;
@@ -245,6 +247,7 @@ public PartitionIterator getPartitionIterator() {
   }
 
   @Override
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public List toPartitionSpec() {
     return partitionSpecs;
   }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionListComposingSpecProxy.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionListComposingSpecProxy.java
index 585b8fd8b6b2..ede542767306 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionListComposingSpecProxy.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionListComposingSpecProxy.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.metastore.partition.spec;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PartitionListComposingSpec;
@@ -139,6 +140,7 @@ public static class Iterator implements PartitionIterator {
     List partitionList;
     int index;
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public Iterator(PartitionListComposingSpecProxy partitionSpecProxy) {
       this.partitionSpecProxy = partitionSpecProxy;
       this.partitionList = partitionSpecProxy.partitionSpec.getPartitionList().getPartitions();
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecProxy.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecProxy.java
index 4ea19fa86acd..1f55af92ccdc 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecProxy.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecProxy.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.metastore.partition.spec;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PartitionSpec;
@@ -202,8 +203,10 @@ public interface PartitionIterator extends java.util.Iterator {
    */
   public static class SimplePartitionWrapperIterator implements PartitionIterator {
     private Partition partition;
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public SimplePartitionWrapperIterator(Partition partition) {this.partition = partition;}
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     @Override public Partition getCurrent() { return partition; }
     @Override public String getCatName() { return partition.getCatName(); }
     @Override public String getDbName() { return partition.getDbName(); }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecWithSharedSDProxy.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecWithSharedSDProxy.java
index 5b462066f4f2..78bea3bd0df5 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecWithSharedSDProxy.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/partition/spec/PartitionSpecWithSharedSDProxy.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.metastore.partition.spec;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.Partition;
 import org.apache.hadoop.hive.metastore.api.PartitionSpec;
@@ -38,6 +39,7 @@ public class PartitionSpecWithSharedSDProxy extends PartitionSpecProxy {
 
   private PartitionSpec partitionSpec;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public PartitionSpecWithSharedSDProxy(PartitionSpec partitionSpec) throws MetaException {
     assert partitionSpec.isSetSharedSDPartitionSpec();
     if (partitionSpec.getSharedSDPartitionSpec().getSd() == null) {
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/HadoopThriftAuthBridge.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/HadoopThriftAuthBridge.java
index a5e71d75cf59..b14faa7b5355 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/HadoopThriftAuthBridge.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/HadoopThriftAuthBridge.java
@@ -41,6 +41,7 @@
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -374,6 +375,7 @@ protected Server(String keytabFile, String principalConf, String clientConf)
       }
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public void setSecretManager(DelegationTokenSecretManager secretManager) {
       this.secretManager = secretManager;
     }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TFilterTransport.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TFilterTransport.java
index e9670e38dede..94b60285aa5d 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TFilterTransport.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TFilterTransport.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hive.metastore.security;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.thrift.TConfiguration;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
@@ -29,6 +30,7 @@
  public class TFilterTransport extends TTransport {
    protected final TTransport wrapped;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
    public TFilterTransport(TTransport wrapped) {
      this.wrapped = wrapped;
    }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TUGIAssumingTransport.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TUGIAssumingTransport.java
index 38a946e2d2f8..e62124ce51ae 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TUGIAssumingTransport.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/TUGIAssumingTransport.java
@@ -21,6 +21,7 @@
 import java.io.IOException;
 import java.security.PrivilegedExceptionAction;
 
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
@@ -37,6 +38,7 @@
  public class TUGIAssumingTransport extends TFilterTransport {
    protected UserGroupInformation ugi;
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
    public TUGIAssumingTransport(TTransport wrapped, UserGroupInformation ugi) {
      super(wrapped);
      this.ugi = ugi;
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/FileUtils.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/FileUtils.java
index cf8825ec1612..0ba72757a59e 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/FileUtils.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/FileUtils.java
@@ -38,6 +38,7 @@
 import org.apache.hadoop.fs.Trash;
 import org.apache.hadoop.hdfs.DistributedFileSystem;
 import org.apache.hadoop.hdfs.protocol.SnapshotException;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf.ConfVars;
@@ -632,6 +633,7 @@ public boolean hasNext() throws IOException {
     }
 
     @Override
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public LocatedFileStatus next() throws IOException {
       if (!hasNext()) {
         throw new NoSuchElementException();
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/HdfsUtils.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/HdfsUtils.java
index fd9995591296..f1ebb79790aa 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/HdfsUtils.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/HdfsUtils.java
@@ -36,6 +36,7 @@
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.hdfs.DistributedFileSystem;
 import org.apache.hadoop.hdfs.client.HdfsAdmin;
+import org.apache.hadoop.hive.common.util.SuppressFBWarnings;
 import org.apache.hadoop.security.AccessControlException;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.tools.DistCp;
@@ -260,6 +261,7 @@ public HadoopFileStatus(Configuration conf, FileSystem fs, Path file) throws IOE
       this.aclStatus = aclStatus;
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public FileStatus getFileStatus() {
       return fileStatus;
     }
diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/JavaUtils.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/JavaUtils.java
index d00c8f050191..f4194c430048 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/JavaUtils.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/utils/JavaUtils.java
@@ -19,6 +19,7 @@
 
 import org.apache.commons.lang3.ClassUtils;
 import org.apache.hadoop.hive.metastore.api.MetaException;
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -96,6 +97,7 @@ public static  T newInstance(Class theClass, Class[] parameterTypes,
    * @param  the type of the class to be returned
    * @return an object of the requested type
    */
+  @SuppressFBWarnings(value = "REFLC_REFLECTION_MAY_INCREASE_ACCESSIBILITY_OF_CLASS", justification = "intended_to_do")
   public static  T newInstance(Class theClass) {
     try {
       return theClass.newInstance();
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index 37a200ab0ff1..9a7d63c8c34b 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -450,13 +450,13 @@
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               
               
                 com.github.spotbugs
                 spotbugs
-                4.0.3
+                ${spotbugs.version}
               
             
             
@@ -473,7 +473,7 @@
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               true
               2048
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index d25abf8a70a1..094b48cbf5bb 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -105,7 +105,7 @@
     5.2.0
     3.8.4
     9.1.6
-    4.0.3
+    4.5.0
     2.8.4
     1.7.30
     4.4.13
@@ -624,11 +624,11 @@
       spotbugs
       
         
-          
+          
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               
               
@@ -642,6 +642,7 @@
               2048
               -Djava.awt.headless=true -Xmx2048m -Xms512m
               ${basedir}/${standalone.metastore.path.to.root}/spotbugs/spotbugs-exclude.xml
+              60000000
             
           
         
@@ -651,12 +652,13 @@
           
             com.github.spotbugs
             spotbugs-maven-plugin
-            4.0.0
+            4.5.0.0
             
               true
               2048
               -Djava.awt.headless=true -Xmx2048m -Xms512m
               ${basedir}/${standalone.metastore.path.to.root}/spotbugs/spotbugs-exclude.xml
+              60000000
             
           
         
diff --git a/storage-api/src/java/org/apache/hadoop/hive/common/DiskRangeInfo.java b/storage-api/src/java/org/apache/hadoop/hive/common/DiskRangeInfo.java
index a2d009bf028b..b5fc3bc228fb 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/common/DiskRangeInfo.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/common/DiskRangeInfo.java
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hive.common;
 
 import org.apache.hadoop.hive.common.io.DiskRangeList;
+import org.apache.hive.common.util.SuppressFBWarnings;
 
 
 /**
@@ -40,6 +41,7 @@ public DiskRangeInfo(int indexBaseOffset) {
     this.totalLength = indexBaseOffset;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void addDiskRange(DiskRangeList diskRange) {
     if (tail == null) {
       head = tail = diskRange;
@@ -49,6 +51,7 @@ public void addDiskRange(DiskRangeList diskRange) {
     totalLength += diskRange.getLength();
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public DiskRangeList getDiskRanges() {
     return head;
   }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/common/MaterializationSnapshot.java b/storage-api/src/java/org/apache/hadoop/hive/common/MaterializationSnapshot.java
index b1bbba5c2bf1..8102bba68f9d 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/common/MaterializationSnapshot.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/common/MaterializationSnapshot.java
@@ -21,6 +21,7 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.hadoop.hive.common.type.SnapshotContext;
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -65,6 +66,7 @@ public MaterializationSnapshot(String validTxnList) {
     this.tableSnapshots = null;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public MaterializationSnapshot(Map tableSnapshots) {
     this.validTxnList = null;
     this.tableSnapshots = tableSnapshots;
@@ -104,6 +106,7 @@ public String getValidTxnList() {
    * @return {@link Map} of snapshotIds where the key is the fully qualified name of the table and the
    * values is the {@link String} representation of snapshotId or null if all tables are native ACID
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Map getTableSnapshots() {
     return tableSnapshots;
   }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/common/io/DiskRangeList.java b/storage-api/src/java/org/apache/hadoop/hive/common/io/DiskRangeList.java
index d83ce8b0730e..c2ccb2da9bc2 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/common/io/DiskRangeList.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/common/io/DiskRangeList.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hive.common.io;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -246,6 +247,7 @@ public boolean equals(Object other) {
   public static class CreateHelper {
     private DiskRangeList tail = null, head;
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public DiskRangeList getTail() {
       return tail;
     }
@@ -264,6 +266,7 @@ public void addOrMerge(long offset, long end, boolean doMerge, boolean doLogNew)
       }
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public DiskRangeList get() {
       return head;
     }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/common/io/encoded/EncodedColumnBatch.java b/storage-api/src/java/org/apache/hadoop/hive/common/io/encoded/EncodedColumnBatch.java
index 037c1cec5af0..7e10dd9a2dd3 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/common/io/encoded/EncodedColumnBatch.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/common/io/encoded/EncodedColumnBatch.java
@@ -23,6 +23,7 @@
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -61,10 +62,12 @@ public int decRef() {
       return i;
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public List getCacheBuffers() {
       return cacheBuffers;
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public void setCacheBuffers(List cacheBuffers) {
       this.cacheBuffers = cacheBuffers;
     }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/Decimal64ColumnVector.java b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/Decimal64ColumnVector.java
index a06ce39b46c6..6fbbec7da0e6 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/Decimal64ColumnVector.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/Decimal64ColumnVector.java
@@ -19,6 +19,7 @@
 
 import org.apache.hadoop.hive.common.type.HiveDecimal;
 import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
+import org.apache.hive.common.util.SuppressFBWarnings;
 
 /**
 
@@ -155,6 +156,7 @@ public void setElement(int outputElementNum, int inputElementNum, ColumnVector i
    * Return a convenience writable object stored by this column vector.
    * @return
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public HiveDecimalWritable getScratchWritable() {
     return scratchHiveDecWritable;
   }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/IntervalDayTimeColumnVector.java b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/IntervalDayTimeColumnVector.java
index 9324bc0c610d..b3821e11d0a9 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/IntervalDayTimeColumnVector.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/IntervalDayTimeColumnVector.java
@@ -21,6 +21,7 @@
 
 import org.apache.hadoop.hive.common.type.HiveIntervalDayTime;
 import org.apache.hadoop.io.Writable;
+import org.apache.hive.common.util.SuppressFBWarnings;
 
 /**
  * This class represents a nullable interval day time column vector capable of handing a
@@ -134,6 +135,7 @@ public void intervalDayTimeUpdate(HiveIntervalDayTime intervalDayTime, int eleme
    * @param elementNum
    * @return
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public HiveIntervalDayTime asScratchIntervalDayTime(int elementNum) {
     scratchIntervalDayTime.set(totalSeconds[elementNum], nanos[elementNum]);
     return scratchIntervalDayTime;
@@ -143,6 +145,7 @@ public HiveIntervalDayTime asScratchIntervalDayTime(int elementNum) {
    * Return the scratch HiveIntervalDayTime (contents undefined).
    * @return
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public HiveIntervalDayTime getScratchIntervalDayTime() {
     return scratchIntervalDayTime;
   }
@@ -413,6 +416,7 @@ public void fill(HiveIntervalDayTime intervalDayTime) {
    * Supports keeping a TimestampWritable object without having to import that definition...
    * @return
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Writable getScratchWritable() {
     return scratchWritable;
   }
@@ -421,6 +425,7 @@ public Writable getScratchWritable() {
    * Set the convenience writable object stored by this column vector
    * @param scratchWritable
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setScratchWritable(Writable scratchWritable) {
     this.scratchWritable = scratchWritable;
   }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.java b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.java
index f97156c40381..0c40a9687a6f 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/TimestampColumnVector.java
@@ -478,6 +478,7 @@ public void fill(Timestamp timestamp) {
    * Supports keeping a TimestampWritable object without having to import that definition...
    * @return
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public Writable getScratchWritable() {
     return scratchWritable;
   }
@@ -486,6 +487,7 @@ public Writable getScratchWritable() {
    * Set the convenience writable object stored by this column vector
    * @param scratchWritable
    */
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
   public void setScratchWritable(Writable scratchWritable) {
     this.scratchWritable = scratchWritable;
   }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/ExpressionTree.java b/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/ExpressionTree.java
index 9895c4bfadd6..e0da53a6584e 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/ExpressionTree.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/ExpressionTree.java
@@ -18,6 +18,8 @@
 
 package org.apache.hadoop.hive.ql.io.sarg;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -160,6 +162,7 @@ public Operator getOperator() {
     return operator;
   }
 
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public List getChildren() {
     return children;
   }
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java b/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java
index b7d03fd4c3d6..9cf9853a4853 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/io/sarg/SearchArgumentImpl.java
@@ -30,6 +30,7 @@
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.common.NoDynamicValuesException;
 
+import org.apache.hive.common.util.SuppressFBWarnings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,6 +68,7 @@ public PredicateLeafImpl(Operator operator,
       this(operator, type, columnName, literal, literalList, null);
     }
 
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP2", justification = "intended_to_do")
     public PredicateLeafImpl(Operator operator,
                              Type type,
                              String columnName,
@@ -111,6 +113,7 @@ public Object getLiteral() {
     }
 
     @Override
+    @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
     public List getLiteralList() {
       if (literalList != null && literalList.size() > 0 && literalList.get(0) instanceof LiteralDelegate) {
         List newLiteraList = new ArrayList<>();
@@ -235,6 +238,7 @@ protected void checkLiteralType(Object literal, Type type, Configuration conf) {
   }
 
   @Override
+  @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "intended_to_do")
   public List getLeaves() {
     return leaves;
   }

From 7d1181e49aa129f871607b5d92ff81938de525b3 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Fri, 31 May 2024 13:59:08 +0530
Subject: [PATCH 31/62] Upgrade kudu to 1.17.0 for jdk17 compatibility

---
 kudu-handler/pom.xml | 9 +++++++++
 pom.xml              | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/kudu-handler/pom.xml b/kudu-handler/pom.xml
index e32c9cd6713c..f5580668d267 100644
--- a/kudu-handler/pom.xml
+++ b/kudu-handler/pom.xml
@@ -104,6 +104,15 @@
       junit-vintage-engine
       test
     
+    
+      org.apache.logging.log4j
+      log4j-1.2-api
+    
+    
+      org.apache.logging.log4j
+      log4j-core
+      ${log4j2.version}
+    
     
       org.apache.kudu
       kudu-test-utils
diff --git a/pom.xml b/pom.xml
index 3c0e56d8da6d..21031807034c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -172,7 +172,7 @@
     2.5.0
     5.5.0
     1.11.9
-    1.12.0
+    1.17.0
     
     0.9.3
     0.16.0

From 126dfab639de59695a59d1688af27fb9868391de Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Sun, 2 Jun 2024 17:25:08 +0530
Subject: [PATCH 32/62] Add Logging dependencies for upgraded kudu in qtests

---
 itests/qtest-kudu/pom.xml | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/itests/qtest-kudu/pom.xml b/itests/qtest-kudu/pom.xml
index aaf704732992..24ed5275cef2 100644
--- a/itests/qtest-kudu/pom.xml
+++ b/itests/qtest-kudu/pom.xml
@@ -104,6 +104,15 @@
       junit
       test
     
+    
+      org.apache.logging.log4j
+      log4j-1.2-api
+    
+    
+      org.apache.logging.log4j
+      log4j-core
+      ${log4j2.version}
+    
     
     

From a7895bfdf100142fca2a1b43009d6ffd32667d10 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Mon, 1 Jul 2024 12:29:59 +0530
Subject: [PATCH 33/62] Datetime qtest fixes

---
 pom.xml                                                |  2 +-
 ql/src/test/queries/clientpositive/udf_date_format.q   |  2 +-
 ql/src/test/results/clientpositive/llap/udf5.q.out     | 10 +++++-----
 .../results/clientpositive/llap/udf_date_format.q.out  |  4 ++--
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/pom.xml b/pom.xml
index 21031807034c..4bf818c0e8c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
     
     
     1.0b3
-    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED
+    -Xmx4096m -DJETTY_AVAILABLE_PROCESSORS=4 -Djava.locale.providers=COMPAT,CLDR --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
     2.17
     3.4.0
     2.10
diff --git a/ql/src/test/queries/clientpositive/udf_date_format.q b/ql/src/test/queries/clientpositive/udf_date_format.q
index 9e9af09adfed..6e92ace8df84 100644
--- a/ql/src/test/queries/clientpositive/udf_date_format.q
+++ b/ql/src/test/queries/clientpositive/udf_date_format.q
@@ -64,7 +64,7 @@ date_format(cast(null as timestamp), 'HH');
 -- wrong fmt
 select
 date_format('2015-04-08', ''),
-date_format('2015-04-08', 'B');
+date_format('2015-04-08', 'C');
 
 -- with time zone
 set hive.local.time.zone=Asia/Bangkok;
diff --git a/ql/src/test/results/clientpositive/llap/udf5.q.out b/ql/src/test/results/clientpositive/llap/udf5.q.out
index d6ecb2f8de4b..347d64afbf42 100644
--- a/ql/src/test/results/clientpositive/llap/udf5.q.out
+++ b/ql/src/test/results/clientpositive/llap/udf5.q.out
@@ -260,7 +260,7 @@ POSTHOOK: query: select from_unixtime(unix_timestamp('1400-11-08 08:00:00 ICT',
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-1400-11-08 07:35:24
+1400-11-08 08:00:00
 PREHOOK: query: select from_unixtime(unix_timestamp('1800-11-08 08:00:00 ICT', 'yyyy-MM-dd HH:mm:ss z'))
 PREHOOK: type: QUERY
 PREHOOK: Input: _dummy_database@_dummy_table
@@ -269,7 +269,7 @@ POSTHOOK: query: select from_unixtime(unix_timestamp('1800-11-08 08:00:00 ICT',
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-1800-11-08 07:35:24
+1800-11-08 08:00:00
 PREHOOK: query: select from_unixtime(unix_timestamp('0000-00-00', 'uuuu-MM-dd'))
 PREHOOK: type: QUERY
 PREHOOK: Input: _dummy_database@_dummy_table
@@ -431,7 +431,7 @@ POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 ICT','
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-1399-12-31 23:35:24
+1400-01-01 00:00:00
 PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z'))
 PREHOOK: type: QUERY
 PREHOOK: Input: _dummy_database@_dummy_table
@@ -440,7 +440,7 @@ POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 ICT','
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-1799-12-31 23:35:24
+1800-01-01 00:00:00
 PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z'))
 PREHOOK: type: QUERY
 PREHOOK: Input: _dummy_database@_dummy_table
@@ -449,7 +449,7 @@ POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 ICT','
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-1899-12-31 23:35:24
+1900-01-01 00:00:00
 PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z'))
 PREHOOK: type: QUERY
 PREHOOK: Input: _dummy_database@_dummy_table
diff --git a/ql/src/test/results/clientpositive/llap/udf_date_format.q.out b/ql/src/test/results/clientpositive/llap/udf_date_format.q.out
index 33db7e82a42b..cd76a545a2c7 100644
--- a/ql/src/test/results/clientpositive/llap/udf_date_format.q.out
+++ b/ql/src/test/results/clientpositive/llap/udf_date_format.q.out
@@ -149,13 +149,13 @@ POSTHOOK: Input: _dummy_database@_dummy_table
 10	30	45	10 AM	08	123	123	NULL
 PREHOOK: query: select
 date_format('2015-04-08', ''),
-date_format('2015-04-08', 'B')
+date_format('2015-04-08', 'C')
 PREHOOK: type: QUERY
 PREHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
 POSTHOOK: query: select
 date_format('2015-04-08', ''),
-date_format('2015-04-08', 'B')
+date_format('2015-04-08', 'C')
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####

From 65a12d72c224e179eebf6846973b2c41693d9e3c Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Mon, 1 Jul 2024 12:37:01 +0530
Subject: [PATCH 34/62] Revert heap size back to 2048

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 4bf818c0e8c8..52a2c108a13e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
     
     
     1.0b3
-    -Xmx4096m -DJETTY_AVAILABLE_PROCESSORS=4 -Djava.locale.providers=COMPAT,CLDR --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
+    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 -Djava.locale.providers=COMPAT,CLDR --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
     2.17
     3.4.0
     2.10

From e59301e2280b8ebcb73c63b0b5afc95501acab89 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Tue, 2 Jul 2024 14:06:23 +0530
Subject: [PATCH 35/62] Gzip compression & Math radians qtest fix

---
 .../llap/replication_metrics_ingest.q.out          |  4 ++--
 .../llap/vectorized_math_funcs.q.out               | 14 +++++++-------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/ql/src/test/results/clientpositive/llap/replication_metrics_ingest.q.out b/ql/src/test/results/clientpositive/llap/replication_metrics_ingest.q.out
index ba37d59aaf25..6fd00f4471a5 100644
--- a/ql/src/test/results/clientpositive/llap/replication_metrics_ingest.q.out
+++ b/ql/src/test/results/clientpositive/llap/replication_metrics_ingest.q.out
@@ -92,5 +92,5 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: sys@replication_metrics
 POSTHOOK: Input: sys@replication_metrics_orig
 #### A masked pattern was here ####
-repl1	1	{"dbName":"src","replicationType":"BOOTSTRAP","replicatedDBSizeInKB":0.0,"stagingDir":"dummyDir","lastReplId":0,"failoverMetadataLoc":null,"failoverEventId":0,"failoverEndPoint":null,"failoverType":null}	H4sIAAAAAAAAAG2PwQ6CMBBE/2XPHOTKTSsmJojEwskQ02gDJKUl2+2J9N8tEohEb7sz83ayI1gS5CwkwCvGUs4hmqRGBuk+gha9DN4tLbLHsboUs/sHQCq7KbqLQOrXOveSsHtubp2qnJXnaz6BT4coNTHjNH3yZEioZfXRCpX7Q5b+EvGWiH0d6hENZqYpBLWQaKdUBCgHxbUYbGsW9MsID9lZ8LV/A7NIwGISAQAA	{"status":"SUCCESS","stages":[{"name":"REPL_DUMP","status":"SUCCESS","startTime":0,"endTime":0,"metrics":[{"name":"FUNCTIONS","currentCount":0,"totalCount":0},{"name":"TABLES","currentCount":1,"totalCount":1}],"errorLogPath":null,"replSnapshotCount":null,"replStats":null}]}	gzip(json-2.0)
-repl2	1	{"dbName":"destination","replicationType":"BOOTSTRAP","replicatedDBSizeInKB":0.00390625,"stagingDir":"dummyDir","lastReplId":0,"failoverMetadataLoc":null,"failoverEventId":0,"failoverEndPoint":null,"failoverType":null}	H4sIAAAAAAAAAG2PwQqDMBBE/yVnD/XqzUYLBbFS9VSkBF1UiImsm5Pk3xu1CtLedmb3zbAzm0iQmVjA8pLzOM+Zt1gtOOs1MyUGcLtnnCXv5BFG2/YPgFT0y+nFY6CaYx6AsK9PWbcy5cX9kS5gbRBBEddG0XpPmoTcpfUOqAivSfxL+GfCt5WrR9SY6DYT1LFAGSk9hjDKXIlx6vSOumgzcARB0KzVTkYgYZP2y7hfpy3EVvYDvpfiNy0BAAA=	{"status":"SUCCESS","stages":[{"name":"REPL_LOAD","status":"SUCCESS","startTime":0,"endTime":0,"metrics":[{"name":"FUNCTIONS","currentCount":0,"totalCount":0},{"name":"TABLES","currentCount":1,"totalCount":1}],"errorLogPath":null,"replSnapshotCount":{"numCreated":0,"numDeleted":0},"replStats":null}]}	gzip(json-2.0)
+repl1	1	{"dbName":"src","replicationType":"BOOTSTRAP","replicatedDBSizeInKB":0.0,"stagingDir":"dummyDir","lastReplId":0,"failoverMetadataLoc":null,"failoverEventId":0,"failoverEndPoint":null,"failoverType":null}	H4sIAAAAAAAA/22PwQ6CMBBE/2XPHOTKTSsmJojEwskQ02gDJKUl2+2J9N8tEohEb7sz83ayI1gS5CwkwCvGUs4hmqRGBuk+gha9DN4tLbLHsboUs/sHQCq7KbqLQOrXOveSsHtubp2qnJXnaz6BT4coNTHjNH3yZEioZfXRCpX7Q5b+EvGWiH0d6hENZqYpBLWQaKdUBCgHxbUYbGsW9MsID9lZ8LV/A7NIwGISAQAA	{"status":"SUCCESS","stages":[{"name":"REPL_DUMP","status":"SUCCESS","startTime":0,"endTime":0,"metrics":[{"name":"FUNCTIONS","currentCount":0,"totalCount":0},{"name":"TABLES","currentCount":1,"totalCount":1}],"errorLogPath":null,"replSnapshotCount":null,"replStats":null}]}	gzip(json-2.0)
+repl2	1	{"dbName":"destination","replicationType":"BOOTSTRAP","replicatedDBSizeInKB":0.00390625,"stagingDir":"dummyDir","lastReplId":0,"failoverMetadataLoc":null,"failoverEventId":0,"failoverEndPoint":null,"failoverType":null}	H4sIAAAAAAAA/22PwQqDMBBE/yVnD/XqzUYLBbFS9VSkBF1UiImsm5Pk3xu1CtLedmb3zbAzm0iQmVjA8pLzOM+Zt1gtOOs1MyUGcLtnnCXv5BFG2/YPgFT0y+nFY6CaYx6AsK9PWbcy5cX9kS5gbRBBEddG0XpPmoTcpfUOqAivSfxL+GfCt5WrR9SY6DYT1LFAGSk9hjDKXIlx6vSOumgzcARB0KzVTkYgYZP2y7hfpy3EVvYDvpfiNy0BAAA=	{"status":"SUCCESS","stages":[{"name":"REPL_LOAD","status":"SUCCESS","startTime":0,"endTime":0,"metrics":[{"name":"FUNCTIONS","currentCount":0,"totalCount":0},{"name":"TABLES","currentCount":1,"totalCount":1}],"errorLogPath":null,"replSnapshotCount":{"numCreated":0,"numDeleted":0},"replStats":null}]}	gzip(json-2.0)
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out b/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
index 187b5babf6d2..6b6cfe9db4e6 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
@@ -409,11 +409,11 @@ POSTHOOK: Input: default@alltypesorc
 15601.0	15601.0	15601	15601	0.37807863784568585	15601.00000000001	9.65509029374725	3.8712010109078907	4.193152436852078	13.929350886124324	NULL	5.584962500721156	NULL	NULL	13.929350886124324	5.584962500721156	13.929350886124324	194.02681610877246	194.02681610877246	124.90396310766124	NULL	1111111111111111111111111111111111010000100101111100000100011000	31353630312E30	FFFFFFFFD097C118	15601.0	48	NULL	-0.14856570831397706	NULL	0.9889025383288114	NULL	1.5707322283397571	893871.4561835973	272.2888166036353	15601.0	-795361000	-15601.0	1.0	-1.0	-0.9740573096878733
 NULL	NULL	NULL	NULL	0.3336458983920575	NULL	NULL	2.0794415416798357	NULL	NULL	NULL	3.0	29.693388204506274	29.58473549442715	NULL	3.0	NULL	NULL	NULL	NULL	29464.580431426475	110011101111110001011111011100	NULL	33BF17DC	NULL	8	1	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	868161500	NULL	NULL	1.0	NULL
 NULL	NULL	NULL	NULL	0.8681331660942196	NULL	NULL	2.0794415416798357	NULL	NULL	NULL	3.0	NULL	29.730832334348488	NULL	3.0	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110010000111111111000101010111000	NULL	FFFFFFFF90FF8AB8	NULL	8	0	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	-1862301000	NULL	NULL	-1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.03951015606275099	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110100000010101110101001001110000	2D373139362E30	FFFFFFFFA0575270	7196.0	59	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	-1604890000	7196.0	-1.0	-1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.9209252022050654	NULL	NULL	NULL	NULL	NULL	NULL	NULL	30.52255693577237	NULL	NULL	NULL	NULL	NULL	NULL	NULL	39273.76987252433	1011011111011111001100101001000	2D373139362E30	5BEF9948	7196.0	21	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	1542429000	7196.0	-1.0	1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.4533660450429132	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110100011011110110101000010110100	2D373139362E30	FFFFFFFFA37B50B4	7196.0	14	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	-1552199500	7196.0	-1.0	-1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.14567136069921982	NULL	NULL	4.07753744390572	NULL	NULL	NULL	5.882643049361842	NULL	NULL	NULL	5.882643049361842	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110111100001011110011111001111100	2D373139362E30	FFFFFFFFBC2F3E7C	7196.0	59	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	-1137754500	7196.0	-1.0	-1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.5264452612398715	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110010001101110110101111010110100	2D373139362E30	FFFFFFFF91BB5EB4	7196.0	8	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	-1849991500	7196.0	-1.0	-1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.17837094616515647	NULL	NULL	1.6094379124341003	NULL	NULL	NULL	2.321928094887362	NULL	NULL	NULL	2.321928094887362	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111111000011011101110000111100110100	2D373139362E30	FFFFFFFFC3770F34	7196.0	5	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	-1015607500	7196.0	-1.0	-1.0	NULL
--7196.0	-7196.0	-7196	-7196	0.5456857574763374	NULL	NULL	NULL	NULL	NULL	NULL	NULL	29.62699001935971	NULL	NULL	NULL	NULL	NULL	NULL	NULL	28794.287627930647	110001011010110011101011011000	2D373139362E30	316B3AD8	7196.0	24	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351194	-7196.0	829111000	7196.0	-1.0	1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.03951015606275099	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110100000010101110101001001110000	2D373139362E30	FFFFFFFFA0575270	7196.0	59	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	-1604890000	7196.0	-1.0	-1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.9209252022050654	NULL	NULL	NULL	NULL	NULL	NULL	NULL	30.52255693577237	NULL	NULL	NULL	NULL	NULL	NULL	NULL	39273.76987252433	1011011111011111001100101001000	2D373139362E30	5BEF9948	7196.0	21	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	1542429000	7196.0	-1.0	1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.4533660450429132	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110100011011110110101000010110100	2D373139362E30	FFFFFFFFA37B50B4	7196.0	14	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	-1552199500	7196.0	-1.0	-1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.14567136069921982	NULL	NULL	4.07753744390572	NULL	NULL	NULL	5.882643049361842	NULL	NULL	NULL	5.882643049361842	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110111100001011110011111001111100	2D373139362E30	FFFFFFFFBC2F3E7C	7196.0	59	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	-1137754500	7196.0	-1.0	-1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.5264452612398715	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111110010001101110110101111010110100	2D373139362E30	FFFFFFFF91BB5EB4	7196.0	8	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	-1849991500	7196.0	-1.0	-1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.17837094616515647	NULL	NULL	1.6094379124341003	NULL	NULL	NULL	2.321928094887362	NULL	NULL	NULL	2.321928094887362	NULL	NULL	NULL	NULL	NULL	1111111111111111111111111111111111000011011101110000111100110100	2D373139362E30	FFFFFFFFC3770F34	7196.0	5	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	-1015607500	7196.0	-1.0	-1.0	NULL
+-7196.0	-7196.0	-7196	-7196	0.5456857574763374	NULL	NULL	NULL	NULL	NULL	NULL	NULL	29.62699001935971	NULL	NULL	NULL	NULL	NULL	NULL	NULL	28794.287627930647	110001011010110011101011011000	2D373139362E30	316B3AD8	7196.0	24	NULL	-0.9834787875028149	NULL	-0.18102340879563897	NULL	-1.5706573607035177	-412300.4293761404	-125.59389297351196	-7196.0	829111000	7196.0	-1.0	1.0	NULL
 NULL	NULL	NULL	NULL	0.282703740641956	NULL	NULL	2.3978952727983707	NULL	NULL	NULL	3.4594316186372978	30.19990821555368	NULL	NULL	3.4594316186372978	NULL	NULL	NULL	NULL	35118.75567271711	1001001100000110001001110011000	NULL	49831398	NULL	11	1	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	1233327000	NULL	NULL	1.0	NULL

From d2d76f702c87b23011f01dccf853ad38122ce617 Mon Sep 17 00:00:00 2001
From: tanishq-chugh 
Date: Tue, 2 Jul 2024 16:38:23 +0530
Subject: [PATCH 36/62] trySetMock filtering issue

---
 .../org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java
index 28c275bafdb6..c8d2ce74a4e6 100644
--- a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java
+++ b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/TestLlapDaemon.java
@@ -193,7 +193,7 @@ public void testUpdateRegistration() throws IOException {
 
   static  void trySetMock(Object o, Class clazz, T mock) {
     List instanceFields = allDeclaredFieldsOf(o).stream()
-        .filter(instanceField -> !clazz.isAssignableFrom(instanceField.jdkField().getType())).toList();
+        .filter(instanceField -> clazz.isAssignableFrom(instanceField.jdkField().getType())).toList();
     if (instanceFields.size() != 1) {
       throw new RuntimeException("Mocking is only supported, if only one field is assignable from the given class.");
     }

From 8a417ebf0caf7cbf34587a21703c68bd44f27093 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Tue, 2 Jul 2024 22:13:54 +0530
Subject: [PATCH 37/62] New Spotbugs error fix (#5)

---
 .../org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java    | 1 +
 1 file changed, 1 insertion(+)

diff --git a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
index d776bd3e35b2..1a66fcbbf908 100644
--- a/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
+++ b/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java
@@ -449,6 +449,7 @@ public TTransport getTTransport() {
   }
 
   @VisibleForTesting
+  @SuppressFBWarnings(value = "MS_EXPOSE_REP", justification = "intended_to_do")
   public static AtomicInteger getConnCount() {
     return connCount;
   }

From faa6965797bcd2db3dbbc049f59d10ad8eb97ddf Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Wed, 3 Jul 2024 12:02:57 +0530
Subject: [PATCH 38/62] Java version parsing & Netty Reflection fix (#6)

---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 52a2c108a13e..5376ec5fb3ca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
     
     
     1.0b3
-    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 -Djava.locale.providers=COMPAT,CLDR --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
+    -Xmx2048m -DJETTY_AVAILABLE_PROCESSORS=4 -Dio.netty.tryReflectionSetAccessible=true -Djava.locale.providers=COMPAT,CLDR --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
     2.17
     3.4.0
     2.10
@@ -107,7 +107,7 @@
     3.5.2
     
     4.9.3
-    1.5.7
+    2.0.0-M1
     
     12.0.0
     1.12.0

From 589dede057e1a4928336a6b6f9b71bd864028274 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Wed, 3 Jul 2024 23:20:02 +0530
Subject: [PATCH 39/62] SocketTimeoutException ErrorMsg case fix (#7)

---
 .../apache/hadoop/hive/metastore/TestHiveMetaStoreTimeout.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTimeout.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTimeout.java
index d80f818c0e80..21ca52baacde 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTimeout.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTimeout.java
@@ -181,7 +181,7 @@ public void testConnectionTimeout() throws Exception {
       try(HiveMetaStoreClient c = new HiveMetaStoreClient(newConf)) {
         Assert.fail("should throw connection timeout exception.");
       } catch (MetaException e) {
-        Assert.assertTrue("unexpected Exception", e.getMessage().contains("connect timed out"));
+        Assert.assertTrue("unexpected Exception", e.getMessage().toLowerCase().contains("connect timed out"));
       }
       return null;
     });

From eeb4b5648e6ead816c4b933065ded456addcf8a6 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Tue, 9 Jul 2024 18:24:28 +0530
Subject: [PATCH 40/62] Change derby script clob datatypes to max length
 varchar (#8)

---
 .../sql/derby/hive-schema-4.1.0.derby.sql     | 32 +++++++++----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql b/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql
index 3444b760a0c5..19ddaf607714 100644
--- a/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql
+++ b/standalone-metastore/metastore-server/src/main/sql/derby/hive-schema-4.1.0.derby.sql
@@ -36,9 +36,9 @@ CREATE TABLE "APP"."DATABASE_PARAMS" ("DB_ID" BIGINT NOT NULL, "PARAM_KEY" VARCH
 
 CREATE TABLE "APP"."TBL_COL_PRIVS" ("TBL_COLUMN_GRANT_ID" BIGINT NOT NULL, "COLUMN_NAME" VARCHAR(767), "CREATE_TIME" INTEGER NOT NULL, "GRANT_OPTION" SMALLINT NOT NULL, "GRANTOR" VARCHAR(128), "GRANTOR_TYPE" VARCHAR(128), "PRINCIPAL_NAME" VARCHAR(128), "PRINCIPAL_TYPE" VARCHAR(128), "TBL_COL_PRIV" VARCHAR(128), "TBL_ID" BIGINT, "AUTHORIZER" VARCHAR(128));
 
-CREATE TABLE "APP"."SERDE_PARAMS" ("SERDE_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
+CREATE TABLE "APP"."SERDE_PARAMS" ("SERDE_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(32672));
 
-CREATE TABLE "APP"."COLUMNS_V2" ("CD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(4000), "COLUMN_NAME" VARCHAR(767) NOT NULL, "TYPE_NAME" VARCHAR(10000), "INTEGER_IDX" INTEGER NOT NULL);
+CREATE TABLE "APP"."COLUMNS_V2" ("CD_ID" BIGINT NOT NULL, "COMMENT" VARCHAR(4000), "COLUMN_NAME" VARCHAR(767) NOT NULL, "TYPE_NAME" VARCHAR(32672), "INTEGER_IDX" INTEGER NOT NULL);
 
 CREATE TABLE "APP"."SORT_COLS" ("SD_ID" BIGINT NOT NULL, "COLUMN_NAME" VARCHAR(767), "ORDER" INTEGER NOT NULL, "INTEGER_IDX" INTEGER NOT NULL);
 
@@ -62,7 +62,7 @@ CREATE TABLE "APP"."TYPES" ("TYPES_ID" BIGINT NOT NULL, "TYPE_NAME" VARCHAR(128)
 
 CREATE TABLE "APP"."GLOBAL_PRIVS" ("USER_GRANT_ID" BIGINT NOT NULL, "CREATE_TIME" INTEGER NOT NULL, "GRANT_OPTION" SMALLINT NOT NULL, "GRANTOR" VARCHAR(128), "GRANTOR_TYPE" VARCHAR(128), "PRINCIPAL_NAME" VARCHAR(128), "PRINCIPAL_TYPE" VARCHAR(128), "USER_PRIV" VARCHAR(128), "AUTHORIZER" VARCHAR(128));
 
-CREATE TABLE "APP"."PARTITION_PARAMS" ("PART_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
+CREATE TABLE "APP"."PARTITION_PARAMS" ("PART_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(32672));
 
 CREATE TABLE "APP"."PARTITION_EVENTS" (
     "PART_NAME_ID" BIGINT NOT NULL,
@@ -111,7 +111,7 @@ CREATE TABLE "APP"."TAB_COL_STATS"(
     "HISTOGRAM" BLOB
 );
 
-CREATE TABLE "APP"."TABLE_PARAMS" ("TBL_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
+CREATE TABLE "APP"."TABLE_PARAMS" ("TBL_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(32672));
 
 CREATE TABLE "APP"."BUCKETING_COLS" ("SD_ID" BIGINT NOT NULL, "BUCKET_COL_NAME" VARCHAR(256), "INTEGER_IDX" INTEGER NOT NULL);
 
@@ -119,7 +119,7 @@ CREATE TABLE "APP"."TYPE_FIELDS" ("TYPE_NAME" BIGINT NOT NULL, "COMMENT" VARCHAR
 
 CREATE TABLE "APP"."NUCLEUS_TABLES" ("CLASS_NAME" VARCHAR(128) NOT NULL, "TABLE_NAME" VARCHAR(128) NOT NULL, "TYPE" VARCHAR(4) NOT NULL, "OWNER" VARCHAR(2) NOT NULL, "VERSION" VARCHAR(20) NOT NULL, "INTERFACE_NAME" VARCHAR(256) DEFAULT NULL);
 
-CREATE TABLE "APP"."SD_PARAMS" ("SD_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(10000));
+CREATE TABLE "APP"."SD_PARAMS" ("SD_ID" BIGINT NOT NULL, "PARAM_KEY" VARCHAR(256) NOT NULL, "PARAM_VALUE" VARCHAR(32672));
 
 CREATE TABLE "APP"."SKEWED_STRING_LIST" ("STRING_LIST_ID" BIGINT NOT NULL);
 
@@ -171,7 +171,7 @@ CREATE TABLE "APP"."NOTIFICATION_LOG" (
     "EVENT_ID" BIGINT NOT NULL,
     "EVENT_TIME" INTEGER NOT NULL,
     "EVENT_TYPE" VARCHAR(32) NOT NULL,
-    "MESSAGE" VARCHAR(10000),
+    "MESSAGE" VARCHAR(32672),
     "TBL_NAME" VARCHAR(256),
     "MESSAGE_FORMAT" VARCHAR(16)
 );
@@ -218,7 +218,7 @@ CREATE TABLE "APP"."MV_CREATION_METADATA" (
   "CAT_NAME" VARCHAR(256) NOT NULL,
   "DB_NAME" VARCHAR(128) NOT NULL,
   "TBL_NAME" VARCHAR(256) NOT NULL,
-  "TXN_LIST" VARCHAR(10000),
+  "TXN_LIST" VARCHAR(32672),
   "MATERIALIZATION_TIME" BIGINT NOT NULL
 );
 
@@ -605,7 +605,7 @@ CREATE TABLE COMPACTION_QUEUE (
   CQ_HIGHEST_WRITE_ID bigint,
   CQ_META_INFO varchar(2048) for bit data,
   CQ_HADOOP_JOB_ID varchar(32),
-  CQ_ERROR_MESSAGE VARCHAR(10000),
+  CQ_ERROR_MESSAGE VARCHAR(32672),
   CQ_NEXT_TXN_ID bigint,
   CQ_TXN_ID bigint,
   CQ_COMMIT_TIME bigint,
@@ -640,7 +640,7 @@ CREATE TABLE COMPLETED_COMPACTIONS (
   CC_HIGHEST_WRITE_ID bigint,
   CC_META_INFO varchar(2048) for bit data,
   CC_HADOOP_JOB_ID varchar(32),
-  CC_ERROR_MESSAGE VARCHAR(10000),
+  CC_ERROR_MESSAGE VARCHAR(32672),
   CC_NEXT_TXN_ID bigint,
   CC_TXN_ID bigint,
   CC_COMMIT_TIME bigint,
@@ -743,7 +743,7 @@ CREATE TABLE "APP"."SCHEMA_VERSION" (
   "CD_ID" bigint references "APP"."CDS" ("CD_ID"),
   "STATE" integer not null,
   "DESCRIPTION" varchar(4000),
-  "SCHEMA_TEXT" VARCHAR(10000),
+  "SCHEMA_TEXT" VARCHAR(32672),
   "FINGERPRINT" varchar(256),
   "SCHEMA_VERSION_NAME" varchar(256),
   "SERDE_ID" bigint references "APP"."SERDES" ("SERDE_ID")
@@ -774,9 +774,9 @@ CREATE TABLE TXN_WRITE_NOTIFICATION_LOG (
   WNL_DATABASE varchar(128) NOT NULL,
   WNL_TABLE varchar(256) NOT NULL,
   WNL_PARTITION varchar(767) NOT NULL,
-  WNL_TABLE_OBJ VARCHAR(10000) NOT NULL,
-  WNL_PARTITION_OBJ VARCHAR(10000),
-  WNL_FILES VARCHAR(10000),
+  WNL_TABLE_OBJ VARCHAR(32672) NOT NULL,
+  WNL_PARTITION_OBJ VARCHAR(32672),
+  WNL_FILES VARCHAR(32672),
   WNL_EVENT_TIME integer NOT NULL,
   PRIMARY KEY (WNL_TXNID, WNL_DATABASE, WNL_TABLE, WNL_PARTITION)
 );
@@ -835,7 +835,7 @@ CREATE TABLE "APP"."STORED_PROCS" (
   "DB_ID" BIGINT NOT NULL,
   "NAME" VARCHAR(256) NOT NULL,
   "OWNER_NAME" VARCHAR(128) NOT NULL,
-  "SOURCE" VARCHAR(10000) NOT NULL,
+  "SOURCE" VARCHAR(32672) NOT NULL,
   PRIMARY KEY ("SP_ID")
 );
 
@@ -856,8 +856,8 @@ CREATE TABLE "APP"."PACKAGES" (
   "DB_ID" BIGINT NOT NULL,
   "NAME" VARCHAR(256) NOT NULL,
   "OWNER_NAME" VARCHAR(128) NOT NULL,
-  "HEADER" VARCHAR(10000) NOT NULL,
-  "BODY" VARCHAR(10000) NOT NULL,
+  "HEADER" VARCHAR(32672) NOT NULL,
+  "BODY" VARCHAR(32672) NOT NULL,
   PRIMARY KEY ("PKG_ID")
 );
 

From c94ce9bfe8ffbefbf5e35488fb53e072b4bd9dc1 Mon Sep 17 00:00:00 2001
From: akshat0395 
Date: Wed, 10 Jul 2024 09:43:26 +0530
Subject: [PATCH 41/62] Add opens for surfire plugin across project

---
 itests/hive-blobstore/pom.xml                             | 1 +
 itests/hive-minikdc/pom.xml                               | 1 +
 itests/qtest-iceberg/pom.xml                              | 1 +
 itests/qtest-kudu/pom.xml                                 | 1 +
 itests/qtest/pom.xml                                      | 1 +
 kudu-handler/pom.xml                                      | 1 +
 standalone-metastore/metastore-server/pom.xml             | 2 +-
 standalone-metastore/metastore-tools/tools-common/pom.xml | 3 +++
 standalone-metastore/pom.xml                              | 1 +
 storage-api/pom.xml                                       | 1 +
 10 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/itests/hive-blobstore/pom.xml b/itests/hive-blobstore/pom.xml
index ff4b786a4ba6..74f35f3a0e5f 100644
--- a/itests/hive-blobstore/pom.xml
+++ b/itests/hive-blobstore/pom.xml
@@ -298,6 +298,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
+          ${maven.test.jvm.args}
           
             ${test.blobstore.path}
           
diff --git a/itests/hive-minikdc/pom.xml b/itests/hive-minikdc/pom.xml
index 827b1e5b2c29..066e67789a76 100644
--- a/itests/hive-minikdc/pom.xml
+++ b/itests/hive-minikdc/pom.xml
@@ -327,6 +327,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
+          ${maven.test.jvm.args}
           
             ${exclude.tests}
           
diff --git a/itests/qtest-iceberg/pom.xml b/itests/qtest-iceberg/pom.xml
index e34a7725097c..ad90b0d088ec 100644
--- a/itests/qtest-iceberg/pom.xml
+++ b/itests/qtest-iceberg/pom.xml
@@ -485,6 +485,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
+          ${maven.test.jvm.args}
           
             ${test.conf.dir}
             ${basedir}/${hive.path.to.root}/conf
diff --git a/itests/qtest-kudu/pom.xml b/itests/qtest-kudu/pom.xml
index 24ed5275cef2..c5341544570e 100644
--- a/itests/qtest-kudu/pom.xml
+++ b/itests/qtest-kudu/pom.xml
@@ -395,6 +395,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
+          ${maven.test.jvm.args}
           
             ${exclude.tests}
           
diff --git a/itests/qtest/pom.xml b/itests/qtest/pom.xml
index b1724a888c4a..0de5cb34a529 100644
--- a/itests/qtest/pom.xml
+++ b/itests/qtest/pom.xml
@@ -622,6 +622,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
+          ${maven.test.jvm.args}
           
             ${test.conf.dir}
             ${basedir}/${hive.path.to.root}/conf
diff --git a/kudu-handler/pom.xml b/kudu-handler/pom.xml
index f5580668d267..84e2bc0ea194 100644
--- a/kudu-handler/pom.xml
+++ b/kudu-handler/pom.xml
@@ -139,6 +139,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
+          ${maven.test.jvm.args}
           
             ${exclude.tests}
           
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index 9a7d63c8c34b..db0e1b8b943a 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -664,7 +664,7 @@
           true
           false
           ${test.forkcount}
-          -Xmx2048m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
+          -Xmx2048m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
           
             ${project.build.directory}
             true
diff --git a/standalone-metastore/metastore-tools/tools-common/pom.xml b/standalone-metastore/metastore-tools/tools-common/pom.xml
index 8ec18a1c3364..24b0573c93ff 100644
--- a/standalone-metastore/metastore-tools/tools-common/pom.xml
+++ b/standalone-metastore/metastore-tools/tools-common/pom.xml
@@ -69,6 +69,9 @@
       
         org.apache.maven.plugins
         maven-surefire-plugin
+        
+          ${maven.test.jvm.args}
+        
       
     
   
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index 094b48cbf5bb..3245bd9bc273 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -517,6 +517,7 @@
           maven-surefire-plugin
           ${maven.surefire.plugin.version}
           
+            ${maven.test.jvm.args}
             false
           
         
diff --git a/storage-api/pom.xml b/storage-api/pom.xml
index 48606f3c29d4..768c539b50d8 100644
--- a/storage-api/pom.xml
+++ b/storage-api/pom.xml
@@ -199,6 +199,7 @@
         maven-surefire-plugin
         ${maven.surefire.plugin.version}
         
+          ${maven.test.jvm.args}
           false
           -Xmx3g
           false

From 4f7e4d88973928072515886042e47a82621fa8a9 Mon Sep 17 00:00:00 2001
From: akshat0395 
Date: Thu, 11 Jul 2024 11:36:30 +0530
Subject: [PATCH 42/62] Add opens for ql module

---
 ql/pom.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/ql/pom.xml b/ql/pom.xml
index 486751bd01d4..a33c34ee923b 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -1002,6 +1002,21 @@
           
         
       
+      
+        org.apache.maven.plugins
+        maven-surefire-plugin
+        
+          -Xmx2048m --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
+          
+            hive-test-cluster-id-env
+            US/Pacific
+            en_US.UTF-8
+            ${test.conf.dir}:${basedir}/${hive.path.to.root}/conf
+            ${project.build.directory}/deplibs/*
+            ${env.PATH}${test.extra.path}
+          
+        
+      
       
         org.apache.maven.plugins
         maven-jar-plugin

From 29fa6d7e5137c0e34d98c3db6741668c2e5760bc Mon Sep 17 00:00:00 2001
From: akshat0395 
Date: Thu, 11 Jul 2024 18:26:53 +0530
Subject: [PATCH 43/62] add java lang add opens for ql

---
 ql/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ql/pom.xml b/ql/pom.xml
index a33c34ee923b..78be82a9ce2b 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -1006,7 +1006,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
-          -Xmx2048m --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
+          -Xmx2048m --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED
           
             hive-test-cluster-id-env
             US/Pacific

From fde0faacf78c832f3d50e3fec5d9656b179ba004 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Fri, 12 Jul 2024 01:37:05 +0530
Subject: [PATCH 44/62] Add opens hive,iceberg,llap configs for Tez container
 issues (#12)

---
 data/conf/iceberg/llap/hive-site.xml | 2 +-
 data/conf/iceberg/llap/tez-site.xml  | 4 ++++
 data/conf/iceberg/tez/hive-site.xml  | 2 +-
 data/conf/iceberg/tez/tez-site.xml   | 4 ++++
 data/conf/llap/hive-site.xml         | 2 +-
 data/conf/llap/tez-site.xml          | 4 ++++
 data/conf/tez/hive-site.xml          | 2 +-
 data/conf/tez/tez-site.xml           | 4 ++++
 8 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/data/conf/iceberg/llap/hive-site.xml b/data/conf/iceberg/llap/hive-site.xml
index a4bdb6266b56..fce125eee00a 100644
--- a/data/conf/iceberg/llap/hive-site.xml
+++ b/data/conf/iceberg/llap/hive-site.xml
@@ -264,7 +264,7 @@
 
     
         hive.tez.java.opts
-         -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA 
+         -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED 
     
 
     
diff --git a/data/conf/iceberg/llap/tez-site.xml b/data/conf/iceberg/llap/tez-site.xml
index 754380463589..f763a593c2f7 100644
--- a/data/conf/iceberg/llap/tez-site.xml
+++ b/data/conf/iceberg/llap/tez-site.xml
@@ -32,4 +32,8 @@
     tez.counters.max
     1024
   
+  
+    tez.am.launch.cmd-opts
+     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED 
+  
 
diff --git a/data/conf/iceberg/tez/hive-site.xml b/data/conf/iceberg/tez/hive-site.xml
index 19984c7ca509..7247517a0613 100644
--- a/data/conf/iceberg/tez/hive-site.xml
+++ b/data/conf/iceberg/tez/hive-site.xml
@@ -250,7 +250,7 @@
 
 
   hive.tez.java.opts
-   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA 
+   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED  --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED 
 
 
 
diff --git a/data/conf/iceberg/tez/tez-site.xml b/data/conf/iceberg/tez/tez-site.xml
index f0f778452799..05cacd0a6ed8 100644
--- a/data/conf/iceberg/tez/tez-site.xml
+++ b/data/conf/iceberg/tez/tez-site.xml
@@ -32,4 +32,8 @@
     tez.counters.max
     1024
   
+  
+    tez.am.launch.cmd-opts
+     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED 
+  
 
diff --git a/data/conf/llap/hive-site.xml b/data/conf/llap/hive-site.xml
index 4f5aedca77d2..9609adb379e5 100644
--- a/data/conf/llap/hive-site.xml
+++ b/data/conf/llap/hive-site.xml
@@ -261,7 +261,7 @@
 
 
   hive.tez.java.opts
-   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA 
+   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
 
 
 
diff --git a/data/conf/llap/tez-site.xml b/data/conf/llap/tez-site.xml
index 143d8a012921..bb053c346b6e 100644
--- a/data/conf/llap/tez-site.xml
+++ b/data/conf/llap/tez-site.xml
@@ -38,6 +38,10 @@
     tez.runtime.shuffle.fetch.buffer.percent
     0.4
   
+  
+    tez.am.launch.cmd-opts
+     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
+  
 
   
   
diff --git a/data/conf/tez/hive-site.xml b/data/conf/tez/hive-site.xml
index 6c969616a720..8aff26b181f3 100644
--- a/data/conf/tez/hive-site.xml
+++ b/data/conf/tez/hive-site.xml
@@ -251,7 +251,7 @@
 
 
   hive.tez.java.opts
-   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA 
+   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED 
 
 
 
diff --git a/data/conf/tez/tez-site.xml b/data/conf/tez/tez-site.xml
index 104f40367b73..de94a2429d8d 100644
--- a/data/conf/tez/tez-site.xml
+++ b/data/conf/tez/tez-site.xml
@@ -36,4 +36,8 @@
     tez.am.dag.scheduler.class
     org.apache.tez.dag.app.dag.impl.DAGSchedulerNaturalOrderControlled
   
+  
+    tez.am.launch.cmd-opts
+     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED 
+  
 

From 684e394f0343e21411f9955cdbcd39a50a4e1dce Mon Sep 17 00:00:00 2001
From: akshat0395 
Date: Fri, 12 Jul 2024 10:05:26 +0530
Subject: [PATCH 45/62] Add opens for ql module

---
 ql/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ql/pom.xml b/ql/pom.xml
index 78be82a9ce2b..d7b074e74063 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -1006,7 +1006,7 @@
         org.apache.maven.plugins
         maven-surefire-plugin
         
-          -Xmx2048m --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED
+          -Xmx2048m --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED
           
             hive-test-cluster-id-env
             US/Pacific

From 30b5acb69745b4fcf03bebf4b3c6f3e4057532e9 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Fri, 12 Jul 2024 20:10:24 +0530
Subject: [PATCH 46/62] Add open configs for MR (#14)

---
 data/conf/hive-site.xml    | 12 ++++++++++++
 data/conf/mr/hive-site.xml | 13 +++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/data/conf/hive-site.xml b/data/conf/hive-site.xml
index cd716824bb9f..2a0b06695f50 100644
--- a/data/conf/hive-site.xml
+++ b/data/conf/hive-site.xml
@@ -130,6 +130,18 @@
   
 
 
+  
+    yarn.app.mapreduce.am.command-opts
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+  
+  
+    mapreduce.map.java.opts
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+  
+  
+    mapreduce.reduce.java.opts
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+  
 
   hive.jar.path
   ${maven.local.repository}/org/apache/hive/hive-exec/${hive.version}/hive-exec-${hive.version}.jar
diff --git a/data/conf/mr/hive-site.xml b/data/conf/mr/hive-site.xml
index 003a661d9b6f..062c572d262a 100644
--- a/data/conf/mr/hive-site.xml
+++ b/data/conf/mr/hive-site.xml
@@ -151,6 +151,19 @@
   Post Execute Hook for Tests
 
 
+  
+    yarn.app.mapreduce.am.command-opts
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+  
+  
+    mapreduce.map.java.opts
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+  
+  
+    mapreduce.reduce.java.opts
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+  
+
 
   hive.support.concurrency
   true

From c74094f2ae5b37157b7a01763d2874807ed35ba5 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Mon, 15 Jul 2024 12:52:03 +0530
Subject: [PATCH 47/62] Increase Tez AM heap size to address OOM errors (#15)

---
 data/conf/llap/tez-site.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/conf/llap/tez-site.xml b/data/conf/llap/tez-site.xml
index bb053c346b6e..315b0947e4d6 100644
--- a/data/conf/llap/tez-site.xml
+++ b/data/conf/llap/tez-site.xml
@@ -24,7 +24,7 @@
 
   
     tez.am.resource.memory.mb
-    128
+    256
   
   
     tez.runtime.io.sort.mb

From 52f8f7a3556a6d4f7dbac99eb388fe736bb201ac Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Mon, 15 Jul 2024 17:18:51 +0530
Subject: [PATCH 48/62] Increase Tez container size to address vertex resource
 OOM errors (#16)

---
 data/conf/llap/hive-site.xml | 2 +-
 data/conf/tez/hive-site.xml  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/data/conf/llap/hive-site.xml b/data/conf/llap/hive-site.xml
index 9609adb379e5..c15889b108ee 100644
--- a/data/conf/llap/hive-site.xml
+++ b/data/conf/llap/hive-site.xml
@@ -49,7 +49,7 @@
 
 
   hive.tez.container.size
-  128
+  256
 
 
 
diff --git a/data/conf/tez/hive-site.xml b/data/conf/tez/hive-site.xml
index 8aff26b181f3..b467f9985cd3 100644
--- a/data/conf/tez/hive-site.xml
+++ b/data/conf/tez/hive-site.xml
@@ -40,7 +40,7 @@
 
 
   hive.tez.container.size
-  128
+  256
   
 
 

From e335e1186c87e54dcea90a646b354756ee5916e3 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Tue, 16 Jul 2024 00:03:11 +0530
Subject: [PATCH 49/62] Regex io add open configs for Tez & MR (#17)

---
 data/conf/hive-site.xml      | 2 +-
 data/conf/llap/hive-site.xml | 2 +-
 data/conf/llap/tez-site.xml  | 2 +-
 data/conf/mr/hive-site.xml   | 4 ++--
 data/conf/tez/hive-site.xml  | 2 +-
 data/conf/tez/tez-site.xml   | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/data/conf/hive-site.xml b/data/conf/hive-site.xml
index 2a0b06695f50..3cbf03984876 100644
--- a/data/conf/hive-site.xml
+++ b/data/conf/hive-site.xml
@@ -132,7 +132,7 @@
 
   
     yarn.app.mapreduce.am.command-opts
-     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
   
   
     mapreduce.map.java.opts
diff --git a/data/conf/llap/hive-site.xml b/data/conf/llap/hive-site.xml
index c15889b108ee..e62f910b9657 100644
--- a/data/conf/llap/hive-site.xml
+++ b/data/conf/llap/hive-site.xml
@@ -261,7 +261,7 @@
 
 
   hive.tez.java.opts
-   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
+   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED 
 
 
 
diff --git a/data/conf/llap/tez-site.xml b/data/conf/llap/tez-site.xml
index 315b0947e4d6..f1798c4cab5d 100644
--- a/data/conf/llap/tez-site.xml
+++ b/data/conf/llap/tez-site.xml
@@ -40,7 +40,7 @@
   
   
     tez.am.launch.cmd-opts
-     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
+     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED 
   
 
   
diff --git a/data/conf/mr/hive-site.xml b/data/conf/mr/hive-site.xml
index 062c572d262a..81bf95525887 100644
--- a/data/conf/mr/hive-site.xml
+++ b/data/conf/mr/hive-site.xml
@@ -157,11 +157,11 @@
   
   
     mapreduce.map.java.opts
-     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
   
   
     mapreduce.reduce.java.opts
-     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED 
+     --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
   
 
 
diff --git a/data/conf/tez/hive-site.xml b/data/conf/tez/hive-site.xml
index b467f9985cd3..74c03eb50be5 100644
--- a/data/conf/tez/hive-site.xml
+++ b/data/conf/tez/hive-site.xml
@@ -251,7 +251,7 @@
 
 
   hive.tez.java.opts
-   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED 
+   -Dlog4j.configurationFile=tez-container-log4j2.properties -Dtez.container.log.level=INFO -Dtez.container.root.logger=CLA --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED  --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
 
 
 
diff --git a/data/conf/tez/tez-site.xml b/data/conf/tez/tez-site.xml
index de94a2429d8d..65193aec166b 100644
--- a/data/conf/tez/tez-site.xml
+++ b/data/conf/tez/tez-site.xml
@@ -38,6 +38,6 @@
   
   
     tez.am.launch.cmd-opts
-     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED 
+     --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED 
   
 

From c77bd49e8a9ef81b797af6cadb614bbd6638ad52 Mon Sep 17 00:00:00 2001
From: kokila 
Date: Tue, 16 Jul 2024 17:36:35 +0530
Subject: [PATCH 50/62] fix NoClassDefFoundError:
 org/apache/hadoop/shaded/com/ctc/wstx/io/InputBootstrapper by adding
 hadoop-client-runtime dependency

---
 contrib/pom.xml                      | 5 +++++
 hcatalog/webhcat/java-client/pom.xml | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/contrib/pom.xml b/contrib/pom.xml
index 08ed544ae6f6..b071532e2b1d 100644
--- a/contrib/pom.xml
+++ b/contrib/pom.xml
@@ -53,6 +53,11 @@
       commons-codec
       commons-codec
     
+    
+      org.apache.hadoop
+      hadoop-client-runtime
+      ${hadoop.version}
+    
     
       org.apache.hadoop
       hadoop-common
diff --git a/hcatalog/webhcat/java-client/pom.xml b/hcatalog/webhcat/java-client/pom.xml
index a6bf4132d8b9..c3c82b4eaa61 100644
--- a/hcatalog/webhcat/java-client/pom.xml
+++ b/hcatalog/webhcat/java-client/pom.xml
@@ -50,6 +50,11 @@
       ${project.version}
     
     
+    
+      org.apache.hadoop
+      hadoop-client-runtime
+      ${hadoop.version}
+    
     
       org.apache.hadoop
       hadoop-common

From 6dfd54ed02f28af9e6470347a09dcf8dd8502987 Mon Sep 17 00:00:00 2001
From: Akshat Mathur 
Date: Thu, 18 Jul 2024 18:51:57 +0530
Subject: [PATCH 51/62] =?UTF-8?q?Revert=20"fix=20NoClassDefFoundError:=20o?=
 =?UTF-8?q?rg/apache/hadoop/shaded/com/ctc/wstx/io/In=E2=80=A6"=20(#19)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 contrib/pom.xml                      | 5 -----
 hcatalog/webhcat/java-client/pom.xml | 5 -----
 2 files changed, 10 deletions(-)

diff --git a/contrib/pom.xml b/contrib/pom.xml
index b071532e2b1d..08ed544ae6f6 100644
--- a/contrib/pom.xml
+++ b/contrib/pom.xml
@@ -53,11 +53,6 @@
       commons-codec
       commons-codec
     
-    
-      org.apache.hadoop
-      hadoop-client-runtime
-      ${hadoop.version}
-    
     
       org.apache.hadoop
       hadoop-common
diff --git a/hcatalog/webhcat/java-client/pom.xml b/hcatalog/webhcat/java-client/pom.xml
index c3c82b4eaa61..a6bf4132d8b9 100644
--- a/hcatalog/webhcat/java-client/pom.xml
+++ b/hcatalog/webhcat/java-client/pom.xml
@@ -50,11 +50,6 @@
       ${project.version}
     
     
-    
-      org.apache.hadoop
-      hadoop-client-runtime
-      ${hadoop.version}
-    
     
       org.apache.hadoop
       hadoop-common

From 7fee7bfb01c52d82445f52287843530f0783d33d Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Fri, 19 Jul 2024 17:10:08 +0530
Subject: [PATCH 52/62] Add jdk as masked pattern to account for changed stack
 trace due to new module system (#20)

---
 .../src/main/java/org/apache/hadoop/hive/ql/QOutProcessor.java   | 1 +
 1 file changed, 1 insertion(+)

diff --git a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QOutProcessor.java b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QOutProcessor.java
index 3116193576af..fd0bbe2bfc5f 100644
--- a/itests/util/src/main/java/org/apache/hadoop/hive/ql/QOutProcessor.java
+++ b/itests/util/src/main/java/org/apache/hadoop/hive/ql/QOutProcessor.java
@@ -124,6 +124,7 @@ public String get() {
       "at org",
       "at sun",
       "at java",
+      "at jdk",
       "at junit",
       "LOCK_QUERYID:",
       "LOCK_TIME:",

From 5757eb7aaf056eee5345b6815cd276824fd1b7d4 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Thu, 25 Jul 2024 13:40:43 +0530
Subject: [PATCH 53/62] Analyze & Fix Errors due to tez config changes (#21)

---
 .../llap/groupby3_map_multi_distinct.q.out    |    4 +-
 .../results/clientpositive/llap/mm_all.q.out  |    2 +-
 .../results/clientpositive/llap/mm_dp.q.out   | 3646 ++++++++---------
 3 files changed, 1826 insertions(+), 1826 deletions(-)

diff --git a/ql/src/test/results/clientpositive/llap/groupby3_map_multi_distinct.q.out b/ql/src/test/results/clientpositive/llap/groupby3_map_multi_distinct.q.out
index e84c42c819b6..de30b7df02c2 100644
--- a/ql/src/test/results/clientpositive/llap/groupby3_map_multi_distinct.q.out
+++ b/ql/src/test/results/clientpositive/llap/groupby3_map_multi_distinct.q.out
@@ -69,12 +69,12 @@ STAGE PLANS:
                       minReductionHashAggr: 0.4
                       mode: hash
                       outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
-                      Statistics: Num rows: 500 Data size: 263000 Basic stats: COMPLETE Column stats: COMPLETE
+                      Statistics: Num rows: 307 Data size: 161482 Basic stats: COMPLETE Column stats: COMPLETE
                       Reduce Output Operator
                         key expressions: _col0 (type: double), _col1 (type: string)
                         null sort order: zz
                         sort order: ++
-                        Statistics: Num rows: 500 Data size: 263000 Basic stats: COMPLETE Column stats: COMPLETE
+                        Statistics: Num rows: 307 Data size: 161482 Basic stats: COMPLETE Column stats: COMPLETE
                         value expressions: _col2 (type: double), _col3 (type: double), _col4 (type: bigint), _col7 (type: string), _col8 (type: string), _col9 (type: double)
             Execution mode: llap
             LLAP IO: all inputs
diff --git a/ql/src/test/results/clientpositive/llap/mm_all.q.out b/ql/src/test/results/clientpositive/llap/mm_all.q.out
index 72922cf6da98..6ba0db3ecd67 100644
--- a/ql/src/test/results/clientpositive/llap/mm_all.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_all.q.out
@@ -1998,7 +1998,7 @@ Table Type:         	MANAGED_TABLE
 Table Parameters:	 	 
 	COLUMN_STATS_ACCURATE	{\"BASIC_STATS\":\"true\"}
 	bucketing_version   	2                   
-	numFiles            	33                  
+	numFiles            	16                  
 	numRows             	500                 
 	rawDataSize         	5312                
 	totalSize           	#Masked#
diff --git a/ql/src/test/results/clientpositive/llap/mm_dp.q.out b/ql/src/test/results/clientpositive/llap/mm_dp.q.out
index 303d751d99c1..643f0ba2f385 100644
--- a/ql/src/test/results/clientpositive/llap/mm_dp.q.out
+++ b/ql/src/test/results/clientpositive/llap/mm_dp.q.out
@@ -2120,23 +2120,23 @@ POSTHOOK: Input: default@dp_mm@val=val_96
 POSTHOOK: Input: default@dp_mm@val=val_97
 POSTHOOK: Input: default@dp_mm@val=val_98
 POSTHOOK: Output: hdfs://### HDFS PATH ###
-0	455	10	val_0
-0	455	16	val_0
-0	455	23	val_0
-0	457	5	val_0
-0	457	5	val_0
-0	457	10	val_0
-0	457	14	val_0
-0	457	16	val_0
-0	457	23	val_0
-0	458	5	val_0
-0	458	5	val_0
-0	458	14	val_0
-0	459	5	val_0
-0	459	5	val_0
-0	459	14	val_0
-2	455	9	val_2
-2	457	9	val_2
+0	455	1	val_0
+0	455	7	val_0
+0	455	13	val_0
+0	457	1	val_0
+0	457	3	val_0
+0	457	7	val_0
+0	457	7	val_0
+0	457	13	val_0
+0	457	19	val_0
+0	458	3	val_0
+0	458	7	val_0
+0	458	19	val_0
+0	459	3	val_0
+0	459	7	val_0
+0	459	19	val_0
+2	455	10	val_2
+2	457	10	val_2
 2	457	10	val_2
 2	458	10	val_2
 2	459	10	val_2
@@ -2145,376 +2145,376 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 4	457	4	val_4
 4	458	1	val_4
 4	459	1	val_4
-5	455	4	val_5
+5	455	10	val_5
 5	455	10	val_5
 5	455	27	val_5
-5	457	4	val_5
-5	457	6	val_5
 5	457	10	val_5
 5	457	10	val_5
+5	457	16	val_5
+5	457	20	val_5
+5	457	24	val_5
 5	457	27	val_5
-5	457	27	val_5
-5	458	6	val_5
-5	458	10	val_5
-5	458	27	val_5
-5	459	6	val_5
-5	459	10	val_5
-5	459	27	val_5
-8	455	23	val_8
-8	457	20	val_8
-8	457	23	val_8
-8	458	20	val_8
-8	459	20	val_8
-9	455	24	val_9
-9	457	15	val_9
-9	457	24	val_9
-9	458	15	val_9
-9	459	15	val_9
-10	455	13	val_10
-10	457	1	val_10
-10	457	13	val_10
-10	458	1	val_10
-10	459	1	val_10
-11	455	24	val_11
+5	458	16	val_5
+5	458	20	val_5
+5	458	24	val_5
+5	459	16	val_5
+5	459	20	val_5
+5	459	24	val_5
+8	455	9	val_8
+8	457	4	val_8
+8	457	9	val_8
+8	458	4	val_8
+8	459	4	val_8
+9	455	23	val_9
+9	457	6	val_9
+9	457	23	val_9
+9	458	6	val_9
+9	459	6	val_9
+10	455	20	val_10
+10	457	6	val_10
+10	457	20	val_10
+10	458	6	val_10
+10	459	6	val_10
+11	455	10	val_11
 11	457	5	val_11
-11	457	24	val_11
+11	457	10	val_11
 11	458	5	val_11
 11	459	5	val_11
-12	455	9	val_12
+12	455	4	val_12
 12	455	10	val_12
-12	457	9	val_12
+12	457	4	val_12
+12	457	5	val_12
 12	457	10	val_12
-12	457	19	val_12
-12	457	27	val_12
-12	458	19	val_12
-12	458	27	val_12
-12	459	19	val_12
-12	459	27	val_12
-15	455	24	val_15
-15	455	27	val_15
-15	457	7	val_15
-15	457	17	val_15
-15	457	24	val_15
+12	457	10	val_12
+12	458	5	val_12
+12	458	10	val_12
+12	459	5	val_12
+12	459	10	val_12
+15	455	10	val_15
+15	455	28	val_15
+15	457	10	val_15
+15	457	16	val_15
 15	457	27	val_15
-15	458	7	val_15
-15	458	17	val_15
-15	459	7	val_15
-15	459	17	val_15
-17	455	13	val_17
-17	457	4	val_17
-17	457	13	val_17
-17	458	4	val_17
-17	459	4	val_17
+15	457	28	val_15
+15	458	16	val_15
+15	458	27	val_15
+15	459	16	val_15
+15	459	27	val_15
+17	455	9	val_17
+17	457	9	val_17
+17	457	20	val_17
+17	458	20	val_17
+17	459	20	val_17
+18	455	19	val_18
 18	455	24	val_18
-18	455	28	val_18
-18	457	2	val_18
-18	457	13	val_18
+18	457	10	val_18
+18	457	19	val_18
 18	457	24	val_18
 18	457	28	val_18
-18	458	2	val_18
-18	458	13	val_18
-18	459	2	val_18
-18	459	13	val_18
-19	455	10	val_19
-19	457	10	val_19
-19	457	23	val_19
-19	458	23	val_19
-19	459	23	val_19
+18	458	10	val_18
+18	458	28	val_18
+18	459	10	val_18
+18	459	28	val_18
+19	455	9	val_19
+19	457	9	val_19
+19	457	20	val_19
+19	458	20	val_19
+19	459	20	val_19
 20	455	24	val_20
 20	457	24	val_20
 20	457	24	val_20
 20	458	24	val_20
 20	459	24	val_20
+24	455	7	val_24
 24	455	19	val_24
-24	455	28	val_24
-24	457	6	val_24
+24	457	3	val_24
+24	457	7	val_24
+24	457	14	val_24
 24	457	19	val_24
-24	457	28	val_24
-24	457	28	val_24
-24	458	6	val_24
-24	458	28	val_24
-24	459	6	val_24
-24	459	28	val_24
+24	458	3	val_24
+24	458	14	val_24
+24	459	3	val_24
+24	459	14	val_24
+26	455	7	val_26
 26	455	9	val_26
-26	455	19	val_26
+26	457	7	val_26
 26	457	7	val_26
 26	457	9	val_26
-26	457	17	val_26
-26	457	19	val_26
+26	457	27	val_26
 26	458	7	val_26
-26	458	17	val_26
+26	458	27	val_26
 26	459	7	val_26
-26	459	17	val_26
+26	459	27	val_26
 27	455	27	val_27
 27	457	9	val_27
 27	457	27	val_27
 27	458	9	val_27
 27	459	9	val_27
 28	455	13	val_28
+28	457	9	val_28
 28	457	13	val_28
-28	457	20	val_28
-28	458	20	val_28
-28	459	20	val_28
+28	458	9	val_28
+28	459	9	val_28
 30	455	23	val_30
-30	457	3	val_30
+30	457	16	val_30
 30	457	23	val_30
-30	458	3	val_30
-30	459	3	val_30
+30	458	16	val_30
+30	459	16	val_30
 33	455	9	val_33
-33	457	6	val_33
 33	457	9	val_33
-33	458	6	val_33
-33	459	6	val_33
-34	455	9	val_34
-34	457	9	val_34
-34	457	28	val_34
-34	458	28	val_34
-34	459	28	val_34
-35	455	7	val_35
+33	457	11	val_33
+33	458	11	val_33
+33	459	11	val_33
+34	455	19	val_34
+34	457	19	val_34
+34	457	20	val_34
+34	458	20	val_34
+34	459	20	val_34
+35	455	9	val_35
 35	455	23	val_35
-35	455	28	val_35
-35	457	2	val_35
-35	457	7	val_35
+35	455	27	val_35
+35	457	9	val_35
 35	457	14	val_35
-35	457	17	val_35
+35	457	16	val_35
 35	457	23	val_35
-35	457	28	val_35
-35	458	2	val_35
+35	457	27	val_35
+35	457	27	val_35
 35	458	14	val_35
-35	458	17	val_35
-35	459	2	val_35
+35	458	16	val_35
+35	458	27	val_35
 35	459	14	val_35
-35	459	17	val_35
+35	459	16	val_35
+35	459	27	val_35
 37	455	1	val_37
 37	455	19	val_37
 37	457	1	val_37
 37	457	11	val_37
 37	457	19	val_37
-37	457	27	val_37
+37	457	20	val_37
 37	458	11	val_37
-37	458	27	val_37
+37	458	20	val_37
 37	459	11	val_37
-37	459	27	val_37
+37	459	20	val_37
 41	455	13	val_41
-41	457	1	val_41
 41	457	13	val_41
-41	458	1	val_41
-41	459	1	val_41
-42	455	14	val_42
+41	457	28	val_41
+41	458	28	val_41
+41	459	28	val_41
+42	455	19	val_42
 42	455	24	val_42
-42	457	9	val_42
-42	457	11	val_42
-42	457	14	val_42
+42	457	2	val_42
+42	457	19	val_42
 42	457	24	val_42
-42	458	9	val_42
-42	458	11	val_42
-42	459	9	val_42
-42	459	11	val_42
+42	457	24	val_42
+42	458	2	val_42
+42	458	24	val_42
+42	459	2	val_42
+42	459	24	val_42
 43	455	4	val_43
 43	457	4	val_43
 43	457	14	val_43
 43	458	14	val_43
 43	459	14	val_43
-44	455	13	val_44
-44	457	7	val_44
+44	455	9	val_44
+44	457	9	val_44
 44	457	13	val_44
-44	458	7	val_44
-44	459	7	val_44
+44	458	13	val_44
+44	459	13	val_44
 47	455	13	val_47
 47	457	13	val_47
 47	457	23	val_47
 47	458	23	val_47
 47	459	23	val_47
+51	455	10	val_51
 51	455	19	val_51
-51	455	27	val_51
 51	457	1	val_51
-51	457	3	val_51
+51	457	10	val_51
+51	457	10	val_51
 51	457	19	val_51
-51	457	27	val_51
 51	458	1	val_51
-51	458	3	val_51
+51	458	10	val_51
 51	459	1	val_51
-51	459	3	val_51
-53	455	28	val_53
-53	457	17	val_53
-53	457	28	val_53
-53	458	17	val_53
-53	459	17	val_53
+51	459	10	val_51
+53	455	19	val_53
+53	457	19	val_53
+53	457	27	val_53
+53	458	27	val_53
+53	459	27	val_53
 54	455	20	val_54
 54	457	4	val_54
 54	457	20	val_54
 54	458	4	val_54
 54	459	4	val_54
-57	455	1	val_57
+57	455	4	val_57
 57	457	1	val_57
-57	457	15	val_57
-57	458	15	val_57
-57	459	15	val_57
-58	455	4	val_58
-58	455	23	val_58
-58	457	4	val_58
-58	457	7	val_58
-58	457	14	val_58
-58	457	23	val_58
-58	458	7	val_58
-58	458	14	val_58
-58	459	7	val_58
-58	459	14	val_58
+57	457	4	val_57
+57	458	1	val_57
+57	459	1	val_57
+58	455	24	val_58
+58	455	24	val_58
+58	457	2	val_58
+58	457	19	val_58
+58	457	24	val_58
+58	457	24	val_58
+58	458	2	val_58
+58	458	19	val_58
+58	459	2	val_58
+58	459	19	val_58
 64	455	28	val_64
-64	457	5	val_64
 64	457	28	val_64
-64	458	5	val_64
-64	459	5	val_64
-65	455	3	val_65
-65	457	3	val_65
-65	457	15	val_65
-65	458	15	val_65
-65	459	15	val_65
+64	457	28	val_64
+64	458	28	val_64
+64	459	28	val_64
+65	455	7	val_65
+65	457	1	val_65
+65	457	7	val_65
+65	458	1	val_65
+65	459	1	val_65
 66	455	13	val_66
 66	457	10	val_66
 66	457	13	val_66
 66	458	10	val_66
 66	459	10	val_66
-67	455	10	val_67
-67	455	23	val_67
-67	457	10	val_67
-67	457	14	val_67
-67	457	23	val_67
+67	455	13	val_67
+67	455	28	val_67
+67	457	1	val_67
+67	457	2	val_67
+67	457	13	val_67
 67	457	28	val_67
-67	458	14	val_67
-67	458	28	val_67
-67	459	14	val_67
-67	459	28	val_67
+67	458	1	val_67
+67	458	2	val_67
+67	459	1	val_67
+67	459	2	val_67
 69	455	14	val_69
+69	457	6	val_69
 69	457	14	val_69
-69	457	25	val_69
-69	458	25	val_69
-69	459	25	val_69
+69	458	6	val_69
+69	459	6	val_69
+70	455	9	val_70
 70	455	13	val_70
-70	455	16	val_70
 70	455	23	val_70
-70	457	0	val_70
-70	457	1	val_70
-70	457	10	val_70
+70	457	9	val_70
 70	457	13	val_70
-70	457	16	val_70
+70	457	14	val_70
+70	457	20	val_70
 70	457	23	val_70
-70	458	0	val_70
-70	458	1	val_70
-70	458	10	val_70
-70	459	0	val_70
-70	459	1	val_70
-70	459	10	val_70
-72	455	9	val_72
+70	457	27	val_70
+70	458	14	val_70
+70	458	20	val_70
+70	458	27	val_70
+70	459	14	val_70
+70	459	20	val_70
+70	459	27	val_70
 72	455	19	val_72
-72	457	9	val_72
-72	457	13	val_72
+72	455	24	val_72
 72	457	19	val_72
+72	457	24	val_72
+72	457	28	val_72
 72	457	28	val_72
-72	458	13	val_72
 72	458	28	val_72
-72	459	13	val_72
+72	458	28	val_72
+72	459	28	val_72
 72	459	28	val_72
 74	455	24	val_74
-74	457	1	val_74
+74	457	20	val_74
 74	457	24	val_74
-74	458	1	val_74
-74	459	1	val_74
+74	458	20	val_74
+74	459	20	val_74
 76	455	1	val_76
 76	455	10	val_76
 76	457	1	val_76
+76	457	7	val_76
 76	457	10	val_76
-76	457	20	val_76
-76	457	28	val_76
-76	458	20	val_76
-76	458	28	val_76
-76	459	20	val_76
-76	459	28	val_76
-77	455	2	val_77
-77	457	2	val_77
-77	457	2	val_77
-77	458	2	val_77
-77	459	2	val_77
+76	457	23	val_76
+76	458	7	val_76
+76	458	23	val_76
+76	459	7	val_76
+76	459	23	val_76
+77	455	9	val_77
+77	457	9	val_77
+77	457	13	val_77
+77	458	13	val_77
+77	459	13	val_77
 78	455	7	val_78
+78	457	4	val_78
 78	457	7	val_78
-78	457	23	val_78
-78	458	23	val_78
-78	459	23	val_78
-80	455	10	val_80
-80	457	5	val_80
+78	458	4	val_78
+78	459	4	val_78
+80	455	24	val_80
 80	457	10	val_80
-80	458	5	val_80
-80	459	5	val_80
-82	455	14	val_82
-82	457	11	val_82
-82	457	14	val_82
-82	458	11	val_82
-82	459	11	val_82
-83	455	27	val_83
-83	455	27	val_83
-83	457	9	val_83
-83	457	20	val_83
-83	457	27	val_83
-83	457	27	val_83
-83	458	9	val_83
-83	458	20	val_83
-83	459	9	val_83
-83	459	20	val_83
+80	457	24	val_80
+80	458	10	val_80
+80	459	10	val_80
+82	455	27	val_82
+82	457	24	val_82
+82	457	27	val_82
+82	458	24	val_82
+82	459	24	val_82
+83	455	7	val_83
+83	455	13	val_83
+83	457	2	val_83
+83	457	6	val_83
+83	457	7	val_83
+83	457	13	val_83
+83	458	2	val_83
+83	458	6	val_83
+83	459	2	val_83
+83	459	6	val_83
 84	455	10	val_84
-84	455	19	val_84
-84	457	3	val_84
-84	457	9	val_84
+84	455	27	val_84
+84	457	7	val_84
 84	457	10	val_84
-84	457	19	val_84
-84	458	3	val_84
-84	458	9	val_84
-84	459	3	val_84
-84	459	9	val_84
-85	455	10	val_85
+84	457	14	val_84
+84	457	27	val_84
+84	458	7	val_84
+84	458	14	val_84
+84	459	7	val_84
+84	459	14	val_84
+85	455	24	val_85
 85	457	10	val_85
-85	457	27	val_85
-85	458	27	val_85
-85	459	27	val_85
+85	457	24	val_85
+85	458	10	val_85
+85	459	10	val_85
 86	455	10	val_86
 86	457	10	val_86
 86	457	27	val_86
 86	458	27	val_86
 86	459	27	val_86
-87	455	3	val_87
-87	457	3	val_87
-87	457	28	val_87
-87	458	28	val_87
-87	459	28	val_87
+87	455	10	val_87
+87	457	10	val_87
+87	457	23	val_87
+87	458	23	val_87
+87	459	23	val_87
 90	455	1	val_90
-90	455	7	val_90
-90	455	9	val_90
+90	455	1	val_90
+90	455	14	val_90
+90	457	1	val_90
+90	457	1	val_90
 90	457	1	val_90
+90	457	5	val_90
 90	457	6	val_90
-90	457	7	val_90
-90	457	9	val_90
-90	457	15	val_90
-90	457	19	val_90
+90	457	14	val_90
+90	458	1	val_90
+90	458	5	val_90
 90	458	6	val_90
-90	458	15	val_90
-90	458	19	val_90
+90	459	1	val_90
+90	459	5	val_90
 90	459	6	val_90
-90	459	15	val_90
-90	459	19	val_90
 92	455	7	val_92
 92	457	7	val_92
 92	457	19	val_92
 92	458	19	val_92
 92	459	19	val_92
-95	455	1	val_95
+95	455	7	val_95
 95	455	28	val_95
-95	457	1	val_95
-95	457	2	val_95
+95	457	7	val_95
 95	457	16	val_95
 95	457	28	val_95
-95	458	2	val_95
+95	457	28	val_95
 95	458	16	val_95
-95	459	2	val_95
+95	458	28	val_95
 95	459	16	val_95
+95	459	28	val_95
 96	455	24	val_96
 96	457	9	val_96
 96	457	24	val_96
@@ -2522,14 +2522,14 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 96	459	9	val_96
 97	455	7	val_97
 97	455	14	val_97
-97	457	1	val_97
-97	457	1	val_97
+97	457	4	val_97
 97	457	7	val_97
 97	457	14	val_97
-97	458	1	val_97
-97	458	1	val_97
-97	459	1	val_97
-97	459	1	val_97
+97	457	28	val_97
+97	458	4	val_97
+97	458	28	val_97
+97	459	4	val_97
+97	459	28	val_97
 98	455	9	val_98
 98	455	24	val_98
 98	457	4	val_98
@@ -2540,240 +2540,240 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 98	458	20	val_98
 98	459	4	val_98
 98	459	20	val_98
-100	455	1	val_100
-100	455	16	val_100
-100	457	1	val_100
+100	455	4	val_100
+100	455	14	val_100
+100	457	4	val_100
+100	457	6	val_100
 100	457	14	val_100
-100	457	16	val_100
-100	457	28	val_100
-100	458	14	val_100
-100	458	17	val_100
-100	458	27	val_100
+100	457	20	val_100
+100	458	6	val_100
+100	458	7	val_100
+100	458	20	val_100
 100	458	28	val_100
-100	459	14	val_100
-100	459	28	val_100
-103	455	2	val_103
+100	459	6	val_100
+100	459	20	val_100
 103	455	20	val_103
-103	457	1	val_103
-103	457	2	val_103
-103	457	11	val_103
+103	455	24	val_103
+103	457	4	val_103
 103	457	20	val_103
-103	458	1	val_103
-103	458	6	val_103
-103	458	11	val_103
-103	458	28	val_103
-103	459	1	val_103
-103	459	11	val_103
-104	455	4	val_104
+103	457	24	val_103
+103	457	24	val_103
+103	458	3	val_103
+103	458	4	val_103
+103	458	24	val_103
+103	458	27	val_103
+103	459	4	val_103
+103	459	24	val_103
 104	455	4	val_104
+104	455	10	val_104
 104	457	4	val_104
-104	457	4	val_104
-104	457	20	val_104
-104	457	25	val_104
-104	458	3	val_104
-104	458	5	val_104
-104	458	20	val_104
-104	458	25	val_104
-104	459	20	val_104
-104	459	25	val_104
-105	455	1	val_105
-105	457	1	val_105
-105	457	11	val_105
-105	458	11	val_105
-105	458	11	val_105
-105	459	11	val_105
+104	457	7	val_104
+104	457	10	val_104
+104	457	28	val_104
+104	458	7	val_104
+104	458	13	val_104
+104	458	16	val_104
+104	458	28	val_104
+104	459	7	val_104
+104	459	28	val_104
+105	455	4	val_105
+105	457	4	val_105
+105	457	10	val_105
+105	458	10	val_105
+105	458	24	val_105
+105	459	10	val_105
 111	455	10	val_111
 111	457	4	val_111
 111	457	10	val_111
 111	458	4	val_111
 111	458	13	val_111
 111	459	4	val_111
-113	455	19	val_113
-113	455	27	val_113
-113	457	1	val_113
-113	457	17	val_113
-113	457	19	val_113
+113	455	7	val_113
+113	455	10	val_113
+113	457	7	val_113
+113	457	10	val_113
+113	457	10	val_113
 113	457	27	val_113
-113	458	1	val_113
-113	458	4	val_113
-113	458	7	val_113
-113	458	17	val_113
-113	459	1	val_113
-113	459	17	val_113
-114	455	14	val_114
-114	457	14	val_114
+113	458	10	val_113
+113	458	10	val_113
+113	458	20	val_113
+113	458	27	val_113
+113	459	10	val_113
+113	459	27	val_113
+114	455	28	val_114
+114	457	20	val_114
 114	457	28	val_114
-114	458	14	val_114
-114	458	28	val_114
-114	459	28	val_114
-116	455	2	val_116
-116	457	2	val_116
-116	457	14	val_116
-116	458	3	val_116
-116	458	14	val_116
-116	459	14	val_116
-118	455	5	val_118
-118	455	24	val_118
-118	457	5	val_118
-118	457	10	val_118
-118	457	24	val_118
+114	458	16	val_114
+114	458	20	val_114
+114	459	20	val_114
+116	455	24	val_116
+116	457	23	val_116
+116	457	24	val_116
+116	458	23	val_116
+116	458	23	val_116
+116	459	23	val_116
+118	455	1	val_118
+118	455	19	val_118
+118	457	1	val_118
+118	457	3	val_118
+118	457	19	val_118
 118	457	24	val_118
-118	458	7	val_118
-118	458	10	val_118
-118	458	11	val_118
+118	458	3	val_118
+118	458	4	val_118
+118	458	20	val_118
 118	458	24	val_118
-118	459	10	val_118
+118	459	3	val_118
 118	459	24	val_118
 119	455	1	val_119
 119	455	9	val_119
-119	455	27	val_119
+119	455	28	val_119
 119	457	1	val_119
 119	457	9	val_119
-119	457	11	val_119
-119	457	13	val_119
-119	457	27	val_119
-119	457	27	val_119
-119	458	6	val_119
+119	457	10	val_119
+119	457	25	val_119
+119	457	28	val_119
+119	457	28	val_119
+119	458	5	val_119
 119	458	7	val_119
 119	458	10	val_119
-119	458	11	val_119
-119	458	13	val_119
+119	458	25	val_119
 119	458	27	val_119
-119	459	11	val_119
-119	459	13	val_119
-119	459	27	val_119
+119	458	28	val_119
+119	459	10	val_119
+119	459	25	val_119
+119	459	28	val_119
 120	455	10	val_120
-120	455	14	val_120
+120	455	27	val_120
 120	457	10	val_120
-120	457	14	val_120
 120	457	23	val_120
-120	457	28	val_120
-120	458	17	val_120
+120	457	23	val_120
+120	457	27	val_120
 120	458	19	val_120
 120	458	23	val_120
-120	458	28	val_120
+120	458	23	val_120
+120	458	23	val_120
+120	459	23	val_120
 120	459	23	val_120
-120	459	28	val_120
 125	455	1	val_125
 125	455	24	val_125
 125	457	1	val_125
 125	457	5	val_125
+125	457	23	val_125
 125	457	24	val_125
-125	457	28	val_125
+125	458	4	val_125
 125	458	5	val_125
 125	458	23	val_125
 125	458	27	val_125
-125	458	28	val_125
 125	459	5	val_125
-125	459	28	val_125
+125	459	23	val_125
 126	455	28	val_126
-126	457	1	val_126
+126	457	20	val_126
 126	457	28	val_126
-126	458	1	val_126
-126	458	3	val_126
-126	459	1	val_126
+126	458	16	val_126
+126	458	20	val_126
+126	459	20	val_126
+128	455	13	val_128
+128	455	19	val_128
 128	455	19	val_128
-128	455	24	val_128
-128	455	28	val_128
 128	457	2	val_128
-128	457	4	val_128
+128	457	5	val_128
+128	457	5	val_128
+128	457	13	val_128
+128	457	19	val_128
 128	457	19	val_128
-128	457	24	val_128
-128	457	27	val_128
-128	457	28	val_128
 128	458	2	val_128
-128	458	4	val_128
+128	458	3	val_128
+128	458	3	val_128
+128	458	5	val_128
+128	458	5	val_128
 128	458	9	val_128
-128	458	14	val_128
-128	458	19	val_128
-128	458	27	val_128
 128	459	2	val_128
-128	459	4	val_128
-128	459	27	val_128
-129	455	9	val_129
+128	459	5	val_128
+128	459	5	val_128
+129	455	4	val_129
 129	455	10	val_129
-129	457	9	val_129
+129	457	4	val_129
 129	457	10	val_129
 129	457	10	val_129
-129	457	14	val_129
+129	457	16	val_129
+129	458	9	val_129
 129	458	10	val_129
 129	458	10	val_129
-129	458	14	val_129
-129	458	25	val_129
+129	458	16	val_129
 129	459	10	val_129
-129	459	14	val_129
+129	459	16	val_129
 131	455	13	val_131
 131	457	13	val_131
 131	457	28	val_131
 131	458	4	val_131
 131	458	28	val_131
 131	459	28	val_131
-133	455	7	val_133
-133	457	7	val_133
-133	457	7	val_133
-133	458	5	val_133
-133	458	7	val_133
-133	459	7	val_133
+133	455	27	val_133
+133	457	13	val_133
+133	457	27	val_133
+133	458	13	val_133
+133	458	13	val_133
+133	459	13	val_133
 134	455	4	val_134
-134	455	7	val_134
+134	455	10	val_134
 134	457	4	val_134
-134	457	7	val_134
-134	457	11	val_134
+134	457	10	val_134
+134	457	10	val_134
 134	457	14	val_134
-134	458	3	val_134
-134	458	11	val_134
-134	458	14	val_134
+134	458	10	val_134
 134	458	14	val_134
-134	459	11	val_134
+134	458	23	val_134
+134	458	27	val_134
+134	459	10	val_134
 134	459	14	val_134
-136	455	24	val_136
-136	457	24	val_136
-136	457	27	val_136
-136	458	20	val_136
-136	458	27	val_136
-136	459	27	val_136
+136	455	10	val_136
+136	457	4	val_136
+136	457	10	val_136
+136	458	4	val_136
+136	458	6	val_136
+136	459	4	val_136
 137	455	10	val_137
-137	455	20	val_137
-137	457	3	val_137
+137	455	10	val_137
+137	457	10	val_137
+137	457	10	val_137
 137	457	10	val_137
-137	457	20	val_137
 137	457	27	val_137
-137	458	3	val_137
-137	458	6	val_137
-137	458	27	val_137
+137	458	9	val_137
+137	458	10	val_137
+137	458	10	val_137
 137	458	27	val_137
-137	459	3	val_137
+137	459	10	val_137
 137	459	27	val_137
 138	455	4	val_138
 138	455	10	val_138
-138	455	10	val_138
-138	455	13	val_138
-138	457	2	val_138
-138	457	2	val_138
+138	455	23	val_138
+138	455	27	val_138
 138	457	4	val_138
 138	457	10	val_138
 138	457	10	val_138
-138	457	13	val_138
-138	457	17	val_138
+138	457	23	val_138
+138	457	24	val_138
+138	457	27	val_138
+138	457	27	val_138
 138	457	27	val_138
-138	458	1	val_138
-138	458	2	val_138
-138	458	2	val_138
-138	458	9	val_138
-138	458	17	val_138
-138	458	20	val_138
+138	458	10	val_138
+138	458	10	val_138
+138	458	14	val_138
+138	458	24	val_138
+138	458	24	val_138
+138	458	24	val_138
 138	458	27	val_138
 138	458	27	val_138
-138	459	2	val_138
-138	459	2	val_138
-138	459	17	val_138
+138	459	10	val_138
+138	459	24	val_138
 138	459	27	val_138
-143	455	20	val_143
-143	457	20	val_143
-143	457	24	val_143
-143	458	17	val_143
-143	458	24	val_143
-143	459	24	val_143
+138	459	27	val_138
+143	455	4	val_143
+143	457	4	val_143
+143	457	25	val_143
+143	458	25	val_143
+143	458	28	val_143
+143	459	25	val_143
 145	455	28	val_145
 145	457	6	val_145
 145	457	28	val_145
@@ -2781,29 +2781,29 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 145	458	6	val_145
 145	459	6	val_145
 146	455	4	val_146
-146	455	14	val_146
-146	457	0	val_146
+146	455	28	val_146
 146	457	3	val_146
 146	457	4	val_146
-146	457	14	val_146
-146	458	0	val_146
+146	457	6	val_146
+146	457	28	val_146
+146	458	1	val_146
 146	458	3	val_146
+146	458	6	val_146
 146	458	27	val_146
-146	458	28	val_146
-146	459	0	val_146
 146	459	3	val_146
+146	459	6	val_146
 149	455	19	val_149
-149	455	24	val_149
-149	457	9	val_149
-149	457	15	val_149
+149	455	23	val_149
+149	457	11	val_149
+149	457	14	val_149
 149	457	19	val_149
-149	457	24	val_149
-149	458	9	val_149
-149	458	15	val_149
-149	458	15	val_149
-149	458	28	val_149
-149	459	9	val_149
-149	459	15	val_149
+149	457	23	val_149
+149	458	1	val_149
+149	458	11	val_149
+149	458	14	val_149
+149	458	23	val_149
+149	459	11	val_149
+149	459	14	val_149
 150	455	10	val_150
 150	457	10	val_150
 150	457	14	val_150
@@ -2812,28 +2812,28 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 150	459	14	val_150
 152	455	4	val_152
 152	455	23	val_152
-152	457	2	val_152
 152	457	4	val_152
+152	457	10	val_152
 152	457	20	val_152
 152	457	23	val_152
-152	458	2	val_152
 152	458	3	val_152
-152	458	14	val_152
+152	458	10	val_152
 152	458	20	val_152
-152	459	2	val_152
+152	458	24	val_152
+152	459	10	val_152
 152	459	20	val_152
-153	455	20	val_153
-153	457	15	val_153
-153	457	20	val_153
-153	458	15	val_153
-153	458	17	val_153
-153	459	15	val_153
-155	455	4	val_155
-155	457	3	val_155
-155	457	4	val_155
-155	458	1	val_155
-155	458	3	val_155
-155	459	3	val_155
+153	455	9	val_153
+153	457	1	val_153
+153	457	9	val_153
+153	458	1	val_153
+153	458	23	val_153
+153	459	1	val_153
+155	455	10	val_155
+155	457	10	val_155
+155	457	10	val_155
+155	458	10	val_155
+155	458	27	val_155
+155	459	10	val_155
 156	455	23	val_156
 156	457	20	val_156
 156	457	23	val_156
@@ -2846,42 +2846,42 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 157	458	7	val_157
 157	458	9	val_157
 157	459	7	val_157
-158	455	20	val_158
-158	457	17	val_158
-158	457	20	val_158
-158	458	11	val_158
-158	458	17	val_158
-158	459	17	val_158
+158	455	23	val_158
+158	457	3	val_158
+158	457	23	val_158
+158	458	3	val_158
+158	458	20	val_158
+158	459	3	val_158
 160	455	10	val_160
 160	457	10	val_160
-160	457	27	val_160
-160	458	27	val_160
-160	458	27	val_160
-160	459	27	val_160
-162	455	9	val_162
-162	457	9	val_162
+160	457	10	val_160
+160	458	10	val_160
+160	458	10	val_160
+160	459	10	val_160
+162	455	10	val_162
 162	457	10	val_162
-162	458	10	val_162
-162	458	10	val_162
-162	459	10	val_162
+162	457	24	val_162
+162	458	24	val_162
+162	458	24	val_162
+162	459	24	val_162
 163	455	28	val_163
-163	457	6	val_163
+163	457	1	val_163
 163	457	28	val_163
-163	458	6	val_163
-163	458	28	val_163
-163	459	6	val_163
+163	458	1	val_163
+163	458	3	val_163
+163	459	1	val_163
 164	455	9	val_164
 164	455	27	val_164
+164	457	1	val_164
+164	457	7	val_164
 164	457	9	val_164
-164	457	10	val_164
-164	457	24	val_164
 164	457	27	val_164
 164	458	1	val_164
 164	458	7	val_164
-164	458	10	val_164
-164	458	24	val_164
-164	459	10	val_164
-164	459	24	val_164
+164	458	9	val_164
+164	458	28	val_164
+164	459	1	val_164
+164	459	7	val_164
 165	455	7	val_165
 165	455	24	val_165
 165	457	7	val_165
@@ -2894,203 +2894,203 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 165	458	24	val_165
 165	459	7	val_165
 165	459	10	val_165
-166	455	9	val_166
-166	457	9	val_166
-166	457	17	val_166
-166	458	6	val_166
-166	458	17	val_166
-166	459	17	val_166
-167	455	7	val_167
-167	455	10	val_167
+166	455	24	val_166
+166	457	7	val_166
+166	457	24	val_166
+166	458	7	val_166
+166	458	24	val_166
+166	459	7	val_166
+167	455	27	val_167
+167	455	27	val_167
 167	455	27	val_167
 167	457	7	val_167
-167	457	10	val_167
-167	457	10	val_167
-167	457	25	val_167
+167	457	7	val_167
+167	457	24	val_167
+167	457	27	val_167
 167	457	27	val_167
 167	457	27	val_167
-167	458	10	val_167
-167	458	10	val_167
-167	458	25	val_167
-167	458	25	val_167
-167	458	25	val_167
-167	458	27	val_167
-167	459	10	val_167
-167	459	25	val_167
-167	459	27	val_167
-168	455	14	val_168
-168	457	14	val_168
-168	457	15	val_168
-168	458	4	val_168
-168	458	15	val_168
-168	459	15	val_168
-169	455	9	val_169
+167	458	7	val_167
+167	458	7	val_167
+167	458	7	val_167
+167	458	7	val_167
+167	458	24	val_167
+167	458	24	val_167
+167	459	7	val_167
+167	459	7	val_167
+167	459	24	val_167
+168	455	13	val_168
+168	457	7	val_168
+168	457	13	val_168
+168	458	2	val_168
+168	458	7	val_168
+168	459	7	val_168
+169	455	24	val_169
 169	455	24	val_169
 169	455	27	val_169
 169	455	28	val_169
+169	457	1	val_169
+169	457	6	val_169
 169	457	9	val_169
-169	457	14	val_169
-169	457	15	val_169
 169	457	16	val_169
 169	457	24	val_169
-169	457	25	val_169
+169	457	24	val_169
 169	457	27	val_169
 169	457	28	val_169
-169	458	2	val_169
+169	458	1	val_169
+169	458	1	val_169
+169	458	3	val_169
 169	458	6	val_169
+169	458	9	val_169
+169	458	9	val_169
 169	458	14	val_169
-169	458	14	val_169
-169	458	15	val_169
 169	458	16	val_169
-169	458	25	val_169
-169	458	28	val_169
-169	459	14	val_169
-169	459	15	val_169
+169	459	1	val_169
+169	459	6	val_169
+169	459	9	val_169
 169	459	16	val_169
-169	459	25	val_169
 170	455	27	val_170
 170	457	27	val_170
 170	457	27	val_170
 170	458	27	val_170
 170	458	27	val_170
 170	459	27	val_170
-172	455	9	val_172
-172	455	24	val_172
-172	457	2	val_172
-172	457	9	val_172
-172	457	17	val_172
-172	457	24	val_172
-172	458	2	val_172
-172	458	6	val_172
+172	455	10	val_172
+172	455	13	val_172
+172	457	10	val_172
+172	457	10	val_172
+172	457	13	val_172
+172	457	27	val_172
 172	458	10	val_172
-172	458	17	val_172
-172	459	2	val_172
-172	459	17	val_172
+172	458	14	val_172
+172	458	27	val_172
+172	458	27	val_172
+172	459	10	val_172
+172	459	27	val_172
 174	455	10	val_174
-174	455	24	val_174
-174	457	1	val_174
-174	457	7	val_174
+174	455	19	val_174
+174	457	6	val_174
 174	457	10	val_174
-174	457	24	val_174
-174	458	1	val_174
-174	458	1	val_174
-174	458	7	val_174
-174	458	7	val_174
-174	459	1	val_174
-174	459	7	val_174
-175	455	10	val_175
-175	455	23	val_175
-175	457	4	val_175
-175	457	10	val_175
-175	457	20	val_175
-175	457	23	val_175
-175	458	1	val_175
-175	458	4	val_175
-175	458	7	val_175
-175	458	20	val_175
-175	459	4	val_175
-175	459	20	val_175
+174	457	16	val_174
+174	457	19	val_174
+174	458	6	val_174
+174	458	10	val_174
+174	458	16	val_174
+174	458	20	val_174
+174	459	6	val_174
+174	459	16	val_174
+175	455	13	val_175
+175	455	24	val_175
+175	457	13	val_175
+175	457	14	val_175
+175	457	19	val_175
+175	457	24	val_175
+175	458	14	val_175
+175	458	19	val_175
+175	458	19	val_175
+175	458	23	val_175
+175	459	14	val_175
+175	459	19	val_175
 176	455	9	val_176
-176	455	16	val_176
+176	455	9	val_176
+176	457	4	val_176
 176	457	6	val_176
 176	457	9	val_176
-176	457	15	val_176
-176	457	16	val_176
-176	458	3	val_176
+176	457	9	val_176
+176	458	4	val_176
 176	458	6	val_176
 176	458	7	val_176
-176	458	15	val_176
+176	458	19	val_176
+176	459	4	val_176
 176	459	6	val_176
-176	459	15	val_176
-177	455	19	val_177
-177	457	19	val_177
-177	457	25	val_177
-177	458	5	val_177
-177	458	25	val_177
-177	459	25	val_177
-178	455	10	val_178
-178	457	7	val_178
-178	457	10	val_178
-178	458	7	val_178
-178	458	7	val_178
-178	459	7	val_178
-179	455	1	val_179
-179	455	28	val_179
+177	455	10	val_177
+177	457	10	val_177
+177	457	28	val_177
+177	458	28	val_177
+177	458	28	val_177
+177	459	28	val_177
+178	455	9	val_178
+178	457	2	val_178
+178	457	9	val_178
+178	458	2	val_178
+178	458	2	val_178
+178	459	2	val_178
+179	455	10	val_179
+179	455	13	val_179
 179	457	1	val_179
-179	457	3	val_179
-179	457	15	val_179
-179	457	28	val_179
+179	457	10	val_179
+179	457	13	val_179
+179	457	27	val_179
 179	458	1	val_179
-179	458	3	val_179
-179	458	15	val_179
-179	458	17	val_179
-179	459	3	val_179
-179	459	15	val_179
-180	455	24	val_180
-180	457	10	val_180
-180	457	24	val_180
-180	458	7	val_180
+179	458	19	val_179
+179	458	24	val_179
+179	458	27	val_179
+179	459	1	val_179
+179	459	27	val_179
+180	455	19	val_180
+180	457	3	val_180
+180	457	19	val_180
+180	458	3	val_180
 180	458	10	val_180
-180	459	10	val_180
-181	455	7	val_181
-181	457	7	val_181
+180	459	3	val_180
+181	455	23	val_181
+181	457	20	val_181
 181	457	23	val_181
-181	458	19	val_181
-181	458	23	val_181
-181	459	23	val_181
+181	458	3	val_181
+181	458	20	val_181
+181	459	20	val_181
 183	455	9	val_183
-183	457	4	val_183
 183	457	9	val_183
-183	458	4	val_183
+183	457	19	val_183
+183	458	13	val_183
 183	458	19	val_183
-183	459	4	val_183
+183	459	19	val_183
 186	455	10	val_186
 186	457	10	val_186
-186	457	24	val_186
-186	458	24	val_186
-186	458	24	val_186
-186	459	24	val_186
+186	457	27	val_186
+186	458	27	val_186
+186	458	27	val_186
+186	459	27	val_186
 187	455	7	val_187
 187	455	9	val_187
 187	455	14	val_187
 187	457	7	val_187
 187	457	9	val_187
-187	457	9	val_187
 187	457	11	val_187
 187	457	14	val_187
+187	457	14	val_187
 187	457	25	val_187
 187	458	5	val_187
-187	458	9	val_187
 187	458	11	val_187
 187	458	14	val_187
+187	458	24	val_187
 187	458	25	val_187
 187	458	28	val_187
-187	459	9	val_187
 187	459	11	val_187
+187	459	14	val_187
 187	459	25	val_187
-189	455	13	val_189
-189	457	1	val_189
-189	457	13	val_189
-189	458	1	val_189
-189	458	20	val_189
-189	459	1	val_189
-190	455	24	val_190
-190	457	2	val_190
-190	457	24	val_190
-190	458	2	val_190
-190	458	3	val_190
-190	459	2	val_190
-191	455	10	val_191
+189	455	9	val_189
+189	457	4	val_189
+189	457	9	val_189
+189	458	4	val_189
+189	458	4	val_189
+189	459	4	val_189
+190	455	23	val_190
+190	457	23	val_190
+190	457	28	val_190
+190	458	27	val_190
+190	458	28	val_190
+190	459	28	val_190
+191	455	7	val_191
 191	455	27	val_191
+191	457	2	val_191
 191	457	7	val_191
-191	457	10	val_191
 191	457	27	val_191
 191	457	27	val_191
-191	458	7	val_191
-191	458	7	val_191
+191	458	2	val_191
+191	458	10	val_191
 191	458	27	val_191
 191	458	27	val_191
-191	459	7	val_191
+191	459	2	val_191
 191	459	27	val_191
 192	455	24	val_192
 192	457	6	val_192
@@ -3099,685 +3099,685 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 192	458	6	val_192
 192	459	6	val_192
 193	455	7	val_193
-193	455	19	val_193
-193	455	27	val_193
+193	455	7	val_193
+193	455	7	val_193
 193	457	1	val_193
 193	457	7	val_193
+193	457	7	val_193
+193	457	7	val_193
 193	457	19	val_193
-193	457	20	val_193
 193	457	24	val_193
-193	457	27	val_193
 193	458	1	val_193
 193	458	4	val_193
-193	458	16	val_193
-193	458	20	val_193
+193	458	9	val_193
+193	458	19	val_193
 193	458	24	val_193
-193	458	27	val_193
+193	458	28	val_193
 193	459	1	val_193
-193	459	20	val_193
+193	459	19	val_193
 193	459	24	val_193
 194	455	23	val_194
+194	457	3	val_194
 194	457	23	val_194
-194	457	28	val_194
-194	458	27	val_194
-194	458	28	val_194
-194	459	28	val_194
-195	455	10	val_195
+194	458	3	val_194
+194	458	20	val_194
+194	459	3	val_194
+195	455	24	val_195
 195	455	27	val_195
-195	457	10	val_195
-195	457	11	val_195
+195	457	14	val_195
 195	457	24	val_195
 195	457	27	val_195
-195	458	11	val_195
-195	458	11	val_195
-195	458	24	val_195
-195	458	24	val_195
-195	459	11	val_195
-195	459	24	val_195
+195	457	27	val_195
+195	458	14	val_195
+195	458	14	val_195
+195	458	27	val_195
+195	458	27	val_195
+195	459	14	val_195
+195	459	27	val_195
 196	455	1	val_196
 196	457	1	val_196
 196	457	3	val_196
 196	458	3	val_196
 196	458	20	val_196
 196	459	3	val_196
-197	455	2	val_197
 197	455	14	val_197
-197	457	2	val_197
+197	455	24	val_197
+197	457	1	val_197
 197	457	6	val_197
 197	457	14	val_197
-197	457	28	val_197
-197	458	3	val_197
+197	457	24	val_197
+197	458	1	val_197
 197	458	3	val_197
 197	458	6	val_197
-197	458	28	val_197
+197	458	16	val_197
+197	459	1	val_197
 197	459	6	val_197
-197	459	28	val_197
 199	455	10	val_199
-199	455	24	val_199
-199	455	27	val_199
-199	457	4	val_199
-199	457	5	val_199
+199	455	10	val_199
+199	455	13	val_199
+199	457	7	val_199
+199	457	10	val_199
 199	457	10	val_199
 199	457	10	val_199
-199	457	24	val_199
-199	457	27	val_199
-199	458	4	val_199
-199	458	4	val_199
-199	458	5	val_199
+199	457	13	val_199
+199	457	19	val_199
+199	458	7	val_199
 199	458	10	val_199
 199	458	10	val_199
-199	458	11	val_199
-199	459	4	val_199
-199	459	5	val_199
+199	458	19	val_199
+199	458	19	val_199
+199	458	28	val_199
+199	459	7	val_199
 199	459	10	val_199
-200	456	2	val_200
+199	459	19	val_199
 200	456	10	val_200
-200	457	4	val_200
-200	457	4	val_200
-200	458	1	val_200
-200	458	4	val_200
-200	458	4	val_200
+200	456	27	val_200
+200	457	6	val_200
+200	457	6	val_200
+200	458	6	val_200
+200	458	6	val_200
+200	458	7	val_200
 200	458	20	val_200
-200	459	4	val_200
-200	459	4	val_200
-201	456	24	val_201
-201	457	9	val_201
-201	458	9	val_201
+200	459	6	val_200
+200	459	6	val_200
+201	456	27	val_201
+201	457	24	val_201
 201	458	24	val_201
-201	459	9	val_201
-202	456	4	val_202
+201	458	27	val_201
+201	459	24	val_201
+202	456	2	val_202
 202	457	1	val_202
 202	458	1	val_202
-202	458	28	val_202
+202	458	7	val_202
 202	459	1	val_202
-203	456	6	val_203
 203	456	20	val_203
-203	457	17	val_203
-203	457	24	val_203
-203	458	3	val_203
-203	458	17	val_203
-203	458	24	val_203
-203	458	27	val_203
-203	459	17	val_203
-203	459	24	val_203
-205	456	4	val_205
+203	456	24	val_203
+203	457	2	val_203
+203	457	25	val_203
+203	458	2	val_203
+203	458	10	val_203
+203	458	25	val_203
+203	458	28	val_203
+203	459	2	val_203
+203	459	25	val_203
+205	456	2	val_205
 205	456	9	val_205
 205	457	4	val_205
-205	457	14	val_205
+205	457	25	val_205
 205	458	4	val_205
-205	458	5	val_205
 205	458	13	val_205
-205	458	14	val_205
+205	458	20	val_205
+205	458	25	val_205
 205	459	4	val_205
-205	459	14	val_205
-207	456	13	val_207
+205	459	25	val_205
+207	456	27	val_207
 207	456	28	val_207
 207	457	1	val_207
-207	457	19	val_207
+207	457	5	val_207
 207	458	1	val_207
 207	458	1	val_207
-207	458	19	val_207
-207	458	19	val_207
+207	458	3	val_207
+207	458	5	val_207
 207	459	1	val_207
-207	459	19	val_207
-208	456	4	val_208
-208	456	10	val_208
+207	459	5	val_207
+208	456	2	val_208
 208	456	13	val_208
-208	457	25	val_208
+208	456	19	val_208
+208	457	1	val_208
+208	457	1	val_208
 208	457	27	val_208
-208	457	28	val_208
-208	458	25	val_208
+208	458	1	val_208
+208	458	1	val_208
+208	458	4	val_208
+208	458	7	val_208
 208	458	27	val_208
 208	458	28	val_208
-208	458	28	val_208
-208	458	28	val_208
-208	458	28	val_208
-208	459	25	val_208
+208	459	1	val_208
+208	459	1	val_208
 208	459	27	val_208
-208	459	28	val_208
-209	456	1	val_209
-209	456	3	val_209
+209	456	10	val_209
+209	456	28	val_209
 209	457	3	val_209
-209	457	28	val_209
+209	457	10	val_209
 209	458	3	val_209
-209	458	25	val_209
-209	458	27	val_209
-209	458	28	val_209
+209	458	10	val_209
+209	458	10	val_209
+209	458	20	val_209
 209	459	3	val_209
-209	459	28	val_209
+209	459	10	val_209
 213	456	1	val_213
-213	456	10	val_213
+213	456	27	val_213
+213	457	7	val_213
 213	457	16	val_213
-213	457	17	val_213
-213	458	11	val_213
+213	458	7	val_213
+213	458	9	val_213
 213	458	16	val_213
-213	458	17	val_213
 213	458	20	val_213
+213	459	7	val_213
 213	459	16	val_213
-213	459	17	val_213
-214	456	20	val_214
-214	457	16	val_214
-214	458	2	val_214
-214	458	16	val_214
-214	459	16	val_214
-216	456	2	val_216
+214	456	27	val_214
+214	457	24	val_214
+214	458	24	val_214
+214	458	24	val_214
+214	459	24	val_214
 216	456	10	val_216
-216	457	11	val_216
+216	456	24	val_216
+216	457	10	val_216
 216	457	27	val_216
-216	458	6	val_216
-216	458	11	val_216
-216	458	20	val_216
+216	458	7	val_216
+216	458	10	val_216
+216	458	27	val_216
 216	458	27	val_216
-216	459	11	val_216
+216	459	10	val_216
 216	459	27	val_216
-217	456	9	val_217
 217	456	24	val_217
-217	457	7	val_217
-217	457	16	val_217
-217	458	7	val_217
+217	456	24	val_217
+217	457	9	val_217
+217	457	9	val_217
+217	458	9	val_217
+217	458	9	val_217
 217	458	9	val_217
-217	458	16	val_217
-217	458	27	val_217
-217	459	7	val_217
-217	459	16	val_217
-218	456	4	val_218
-218	457	27	val_218
-218	458	24	val_218
-218	458	27	val_218
-218	459	27	val_218
-219	456	6	val_219
-219	456	28	val_219
-219	457	5	val_219
-219	457	28	val_219
-219	458	5	val_219
-219	458	6	val_219
-219	458	11	val_219
-219	458	28	val_219
-219	459	5	val_219
-219	459	28	val_219
-221	456	5	val_221
+217	458	24	val_217
+217	459	9	val_217
+217	459	9	val_217
+218	456	19	val_218
+218	457	20	val_218
+218	458	1	val_218
+218	458	20	val_218
+218	459	20	val_218
+219	456	7	val_219
+219	456	13	val_219
+219	457	13	val_219
+219	457	23	val_219
+219	458	13	val_219
+219	458	13	val_219
+219	458	19	val_219
+219	458	23	val_219
+219	459	13	val_219
+219	459	23	val_219
+221	456	13	val_221
 221	456	24	val_221
 221	457	13	val_221
-221	457	14	val_221
+221	457	28	val_221
 221	458	10	val_221
-221	458	11	val_221
 221	458	13	val_221
-221	458	14	val_221
+221	458	23	val_221
+221	458	28	val_221
 221	459	13	val_221
-221	459	14	val_221
-222	456	9	val_222
-222	457	20	val_222
-222	458	16	val_222
-222	458	20	val_222
-222	459	20	val_222
-223	456	10	val_223
-223	456	20	val_223
-223	457	15	val_223
-223	457	24	val_223
-223	458	4	val_223
-223	458	15	val_223
-223	458	17	val_223
-223	458	24	val_223
-223	459	15	val_223
-223	459	24	val_223
-224	456	4	val_224
+221	459	28	val_221
+222	456	14	val_222
+222	457	7	val_222
+222	458	2	val_222
+222	458	7	val_222
+222	459	7	val_222
+223	456	7	val_223
+223	456	19	val_223
+223	457	1	val_223
+223	457	28	val_223
+223	458	1	val_223
+223	458	19	val_223
+223	458	28	val_223
+223	458	28	val_223
+223	459	1	val_223
+223	459	28	val_223
+224	456	9	val_224
 224	456	23	val_224
+224	457	4	val_224
 224	457	20	val_224
-224	457	20	val_224
-224	458	20	val_224
+224	458	4	val_224
 224	458	20	val_224
 224	458	24	val_224
 224	458	28	val_224
+224	459	4	val_224
 224	459	20	val_224
-224	459	20	val_224
-226	456	3	val_226
-226	457	11	val_226
-226	458	7	val_226
-226	458	11	val_226
-226	459	11	val_226
-228	456	23	val_228
-228	457	10	val_228
-228	458	10	val_228
-228	458	14	val_228
-228	459	10	val_228
-229	456	25	val_229
-229	456	28	val_229
-229	457	14	val_229
-229	457	14	val_229
+226	456	28	val_226
+226	457	1	val_226
+226	458	1	val_226
+226	458	1	val_226
+226	459	1	val_226
+228	456	4	val_228
+228	457	27	val_228
+228	458	24	val_228
+228	458	27	val_228
+228	459	27	val_228
+229	456	3	val_229
+229	456	10	val_229
+229	457	1	val_229
+229	457	25	val_229
+229	458	1	val_229
 229	458	1	val_229
-229	458	14	val_229
-229	458	14	val_229
-229	458	24	val_229
-229	459	14	val_229
-229	459	14	val_229
-230	456	7	val_230
+229	458	16	val_229
+229	458	25	val_229
+229	459	1	val_229
+229	459	25	val_229
 230	456	9	val_230
+230	456	13	val_230
+230	456	14	val_230
+230	456	14	val_230
 230	456	24	val_230
-230	456	24	val_230
-230	456	27	val_230
-230	457	4	val_230
-230	457	6	val_230
-230	457	11	val_230
+230	457	7	val_230
 230	457	19	val_230
-230	457	24	val_230
-230	458	3	val_230
-230	458	4	val_230
-230	458	6	val_230
+230	457	25	val_230
+230	457	27	val_230
+230	457	28	val_230
+230	458	2	val_230
+230	458	7	val_230
 230	458	10	val_230
-230	458	11	val_230
-230	458	13	val_230
 230	458	16	val_230
 230	458	19	val_230
-230	458	24	val_230
-230	458	24	val_230
-230	459	4	val_230
-230	459	6	val_230
-230	459	11	val_230
+230	458	19	val_230
+230	458	25	val_230
+230	458	27	val_230
+230	458	27	val_230
+230	458	28	val_230
+230	459	7	val_230
 230	459	19	val_230
-230	459	24	val_230
-233	456	10	val_233
-233	456	11	val_233
-233	457	15	val_233
-233	457	28	val_233
+230	459	25	val_230
+230	459	27	val_230
+230	459	28	val_230
+233	456	2	val_233
+233	456	9	val_233
+233	457	6	val_233
+233	457	7	val_233
 233	458	3	val_233
-233	458	3	val_233
-233	458	15	val_233
-233	458	28	val_233
-233	459	15	val_233
-233	459	28	val_233
-235	456	27	val_235
-235	457	28	val_235
-235	458	2	val_235
-235	458	28	val_235
-235	459	28	val_235
-237	456	3	val_237
+233	458	6	val_233
+233	458	7	val_233
+233	458	7	val_233
+233	459	6	val_233
+233	459	7	val_233
+235	456	24	val_235
+235	457	7	val_235
+235	458	7	val_235
+235	458	24	val_235
+235	459	7	val_235
+237	456	10	val_237
 237	456	24	val_237
-237	457	3	val_237
-237	457	24	val_237
-237	458	3	val_237
-237	458	24	val_237
-237	458	24	val_237
-237	458	25	val_237
-237	459	3	val_237
-237	459	24	val_237
+237	457	10	val_237
+237	457	10	val_237
+237	458	10	val_237
+237	458	10	val_237
+237	458	10	val_237
+237	458	20	val_237
+237	459	10	val_237
+237	459	10	val_237
 238	456	10	val_238
-238	456	27	val_238
+238	456	19	val_238
+238	457	10	val_238
 238	457	10	val_238
-238	457	24	val_238
 238	458	10	val_238
 238	458	10	val_238
-238	458	24	val_238
-238	458	24	val_238
+238	458	10	val_238
+238	458	14	val_238
 238	459	10	val_238
-238	459	24	val_238
-239	456	5	val_239
-239	456	27	val_239
-239	457	14	val_239
-239	457	15	val_239
-239	458	4	val_239
-239	458	14	val_239
-239	458	15	val_239
-239	458	25	val_239
-239	459	14	val_239
-239	459	15	val_239
-241	456	27	val_241
-241	457	24	val_241
-241	458	24	val_241
-241	458	24	val_241
-241	459	24	val_241
-242	456	2	val_242
+238	459	10	val_238
+239	456	10	val_239
+239	456	10	val_239
+239	457	9	val_239
+239	457	19	val_239
+239	458	9	val_239
+239	458	19	val_239
+239	458	19	val_239
+239	458	24	val_239
+239	459	9	val_239
+239	459	19	val_239
+241	456	1	val_241
+241	457	10	val_241
+241	458	10	val_241
+241	458	20	val_241
+241	459	10	val_241
+242	456	4	val_242
 242	456	24	val_242
-242	457	1	val_242
-242	457	16	val_242
-242	458	1	val_242
-242	458	3	val_242
-242	458	9	val_242
-242	458	16	val_242
-242	459	1	val_242
-242	459	16	val_242
-244	456	7	val_244
-244	457	13	val_244
-244	458	10	val_244
-244	458	13	val_244
-244	459	13	val_244
-247	456	1	val_247
-247	457	9	val_247
-247	458	9	val_247
-247	458	9	val_247
-247	459	9	val_247
-248	456	7	val_248
-248	457	14	val_248
-248	458	4	val_248
-248	458	14	val_248
-248	459	14	val_248
-249	456	1	val_249
-249	457	24	val_249
-249	458	24	val_249
-249	458	24	val_249
-249	459	24	val_249
-252	456	20	val_252
-252	457	5	val_252
-252	458	3	val_252
-252	458	5	val_252
-252	459	5	val_252
+242	457	4	val_242
+242	457	24	val_242
+242	458	4	val_242
+242	458	4	val_242
+242	458	24	val_242
+242	458	24	val_242
+242	459	4	val_242
+242	459	24	val_242
+244	456	9	val_244
+244	457	3	val_244
+244	458	2	val_244
+244	458	3	val_244
+244	459	3	val_244
+247	456	28	val_247
+247	457	6	val_247
+247	458	6	val_247
+247	458	25	val_247
+247	459	6	val_247
+248	456	9	val_248
+248	457	9	val_248
+248	458	9	val_248
+248	458	9	val_248
+248	459	9	val_248
+249	456	5	val_249
+249	457	6	val_249
+249	458	6	val_249
+249	458	6	val_249
+249	459	6	val_249
+252	456	7	val_252
+252	457	19	val_252
+252	458	10	val_252
+252	458	19	val_252
+252	459	19	val_252
+255	456	9	val_255
 255	456	9	val_255
-255	456	20	val_255
-255	457	7	val_255
+255	457	5	val_255
 255	457	13	val_255
-255	458	7	val_255
+255	458	2	val_255
+255	458	5	val_255
 255	458	7	val_255
 255	458	13	val_255
-255	458	16	val_255
-255	459	7	val_255
+255	459	5	val_255
 255	459	13	val_255
 256	456	1	val_256
-256	456	1	val_256
-256	457	3	val_256
-256	457	24	val_256
+256	456	4	val_256
+256	457	1	val_256
+256	457	20	val_256
 256	458	1	val_256
-256	458	3	val_256
-256	458	11	val_256
-256	458	24	val_256
-256	459	3	val_256
-256	459	24	val_256
-257	456	7	val_257
-257	457	14	val_257
-257	458	6	val_257
+256	458	1	val_256
+256	458	20	val_256
+256	458	20	val_256
+256	459	1	val_256
+256	459	20	val_256
+257	456	23	val_257
+257	457	2	val_257
+257	458	2	val_257
 257	458	14	val_257
-257	459	14	val_257
-258	456	11	val_258
-258	457	14	val_258
-258	458	14	val_258
-258	458	17	val_258
-258	459	14	val_258
-260	456	10	val_260
-260	457	1	val_260
-260	458	1	val_260
-260	458	4	val_260
-260	459	1	val_260
-262	456	4	val_262
-262	457	14	val_262
-262	458	2	val_262
-262	458	14	val_262
-262	459	14	val_262
-263	456	6	val_263
-263	457	14	val_263
-263	458	14	val_263
-263	458	14	val_263
-263	459	14	val_263
+257	459	2	val_257
+258	456	9	val_258
+258	457	1	val_258
+258	458	1	val_258
+258	458	3	val_258
+258	459	1	val_258
+260	456	20	val_260
+260	457	6	val_260
+260	458	6	val_260
+260	458	28	val_260
+260	459	6	val_260
+262	456	27	val_262
+262	457	11	val_262
+262	458	5	val_262
+262	458	11	val_262
+262	459	11	val_262
+263	456	23	val_263
+263	457	24	val_263
+263	458	24	val_263
+263	458	24	val_263
+263	459	24	val_263
+265	456	7	val_265
 265	456	13	val_265
-265	456	24	val_265
-265	457	14	val_265
+265	457	25	val_265
 265	457	28	val_265
-265	458	14	val_265
-265	458	14	val_265
 265	458	19	val_265
+265	458	25	val_265
+265	458	25	val_265
 265	458	28	val_265
-265	459	14	val_265
+265	459	25	val_265
 265	459	28	val_265
-266	456	2	val_266
-266	457	5	val_266
-266	458	5	val_266
-266	458	5	val_266
-266	459	5	val_266
-272	456	1	val_272
-272	456	20	val_272
-272	457	5	val_272
+266	456	13	val_266
+266	457	19	val_266
+266	458	19	val_266
+266	458	19	val_266
+266	459	19	val_266
+272	456	10	val_272
+272	456	27	val_272
 272	457	10	val_272
-272	458	5	val_272
-272	458	9	val_272
+272	457	27	val_272
 272	458	10	val_272
 272	458	10	val_272
-272	459	5	val_272
+272	458	27	val_272
+272	458	27	val_272
 272	459	10	val_272
+272	459	27	val_272
 273	456	4	val_273
-273	456	7	val_273
-273	456	13	val_273
+273	456	9	val_273
+273	456	24	val_273
 273	457	9	val_273
-273	457	14	val_273
-273	457	19	val_273
+273	457	11	val_273
+273	457	13	val_273
 273	458	1	val_273
-273	458	4	val_273
 273	458	9	val_273
+273	458	10	val_273
+273	458	11	val_273
 273	458	13	val_273
-273	458	14	val_273
-273	458	19	val_273
+273	458	16	val_273
 273	459	9	val_273
-273	459	14	val_273
-273	459	19	val_273
-274	456	3	val_274
-274	457	2	val_274
-274	458	2	val_274
-274	458	11	val_274
-274	459	2	val_274
-275	456	10	val_275
-275	457	10	val_275
-275	458	10	val_275
-275	458	10	val_275
-275	459	10	val_275
-277	456	10	val_277
+273	459	11	val_273
+273	459	13	val_273
+274	456	9	val_274
+274	457	10	val_274
+274	458	10	val_274
+274	458	10	val_274
+274	459	10	val_274
+275	456	28	val_275
+275	457	20	val_275
+275	458	14	val_275
+275	458	20	val_275
+275	459	20	val_275
+277	456	1	val_277
 277	456	10	val_277
 277	456	16	val_277
-277	456	27	val_277
+277	456	24	val_277
 277	457	1	val_277
 277	457	20	val_277
-277	457	24	val_277
-277	457	27	val_277
+277	457	20	val_277
+277	457	25	val_277
 277	458	1	val_277
+277	458	2	val_277
 277	458	6	val_277
-277	458	19	val_277
+277	458	20	val_277
+277	458	20	val_277
 277	458	20	val_277
 277	458	23	val_277
-277	458	24	val_277
-277	458	27	val_277
-277	458	27	val_277
+277	458	25	val_277
 277	459	1	val_277
 277	459	20	val_277
-277	459	24	val_277
-277	459	27	val_277
-278	456	3	val_278
+277	459	20	val_277
+277	459	25	val_277
+278	456	7	val_278
 278	456	7	val_278
-278	457	5	val_278
 278	457	19	val_278
-278	458	1	val_278
-278	458	5	val_278
+278	457	19	val_278
 278	458	10	val_278
+278	458	13	val_278
+278	458	19	val_278
 278	458	19	val_278
-278	459	5	val_278
 278	459	19	val_278
+278	459	19	val_278
+280	456	7	val_280
 280	456	9	val_280
-280	456	14	val_280
+280	457	4	val_280
 280	457	24	val_280
-280	457	27	val_280
+280	458	4	val_280
+280	458	11	val_280
 280	458	19	val_280
-280	458	20	val_280
 280	458	24	val_280
-280	458	27	val_280
+280	459	4	val_280
 280	459	24	val_280
-280	459	27	val_280
 281	456	2	val_281
-281	456	10	val_281
+281	456	7	val_281
+281	457	4	val_281
 281	457	4	val_281
-281	457	23	val_281
 281	458	1	val_281
 281	458	4	val_281
 281	458	4	val_281
-281	458	23	val_281
+281	458	19	val_281
+281	459	4	val_281
 281	459	4	val_281
-281	459	23	val_281
-282	456	10	val_282
+282	456	13	val_282
 282	456	24	val_282
 282	457	1	val_282
-282	457	10	val_282
+282	457	20	val_282
+282	458	1	val_282
 282	458	1	val_282
-282	458	10	val_282
-282	458	10	val_282
 282	458	16	val_282
+282	458	20	val_282
 282	459	1	val_282
-282	459	10	val_282
-283	456	9	val_283
-283	457	16	val_283
-283	458	16	val_283
-283	458	27	val_283
-283	459	16	val_283
-284	456	9	val_284
-284	457	13	val_284
-284	458	10	val_284
-284	458	13	val_284
-284	459	13	val_284
-285	456	24	val_285
-285	457	9	val_285
-285	458	9	val_285
-285	458	9	val_285
-285	459	9	val_285
+282	459	20	val_282
+283	456	10	val_283
+283	457	24	val_283
+283	458	10	val_283
+283	458	24	val_283
+283	459	24	val_283
+284	456	14	val_284
+284	457	28	val_284
+284	458	2	val_284
+284	458	28	val_284
+284	459	28	val_284
+285	456	27	val_285
+285	457	24	val_285
+285	458	24	val_285
+285	458	24	val_285
+285	459	24	val_285
 286	456	9	val_286
 286	457	25	val_286
 286	458	25	val_286
 286	458	28	val_286
 286	459	25	val_286
-287	456	25	val_287
-287	457	14	val_287
-287	458	14	val_287
-287	458	14	val_287
-287	459	14	val_287
-288	456	9	val_288
+287	456	19	val_287
+287	457	28	val_287
+287	458	4	val_287
+287	458	28	val_287
+287	459	28	val_287
+288	456	14	val_288
 288	456	23	val_288
-288	457	9	val_288
+288	457	10	val_288
 288	457	28	val_288
-288	458	9	val_288
-288	458	9	val_288
+288	458	10	val_288
+288	458	27	val_288
 288	458	27	val_288
 288	458	28	val_288
-288	459	9	val_288
+288	459	10	val_288
 288	459	28	val_288
-289	456	28	val_289
-289	457	28	val_289
-289	458	17	val_289
-289	458	28	val_289
-289	459	28	val_289
-291	456	14	val_291
-291	457	3	val_291
-291	458	3	val_291
-291	458	10	val_291
-291	459	3	val_291
-292	456	1	val_292
-292	457	15	val_292
-292	458	15	val_292
-292	458	17	val_292
-292	459	15	val_292
-296	456	27	val_296
-296	457	3	val_296
-296	458	3	val_296
-296	458	5	val_296
-296	459	3	val_296
-298	456	4	val_298
-298	456	6	val_298
-298	456	19	val_298
-298	457	0	val_298
-298	457	14	val_298
-298	457	23	val_298
-298	458	0	val_298
-298	458	2	val_298
+289	456	10	val_289
+289	457	23	val_289
+289	458	4	val_289
+289	458	23	val_289
+289	459	23	val_289
+291	456	24	val_291
+291	457	16	val_291
+291	458	16	val_291
+291	458	27	val_291
+291	459	16	val_291
+292	456	10	val_292
+292	457	4	val_292
+292	458	4	val_292
+292	458	13	val_292
+292	459	4	val_292
+296	456	20	val_296
+296	457	1	val_296
+296	458	1	val_296
+296	458	28	val_296
+296	459	1	val_296
+298	456	13	val_298
+298	456	27	val_298
+298	456	27	val_298
+298	457	1	val_298
+298	457	4	val_298
+298	457	4	val_298
+298	458	1	val_298
+298	458	4	val_298
 298	458	4	val_298
-298	458	14	val_298
-298	458	23	val_298
-298	458	27	val_298
-298	459	0	val_298
-298	459	14	val_298
-298	459	23	val_298
-302	456	6	val_302
-302	457	28	val_302
-302	458	2	val_302
-302	458	28	val_302
-302	459	28	val_302
-305	456	1	val_305
-305	457	27	val_305
-305	458	3	val_305
-305	458	27	val_305
-305	459	27	val_305
-306	456	19	val_306
-306	457	9	val_306
-306	458	9	val_306
-306	458	23	val_306
-306	459	9	val_306
-307	456	1	val_307
-307	456	9	val_307
-307	457	3	val_307
-307	457	4	val_307
-307	458	3	val_307
-307	458	4	val_307
-307	458	10	val_307
-307	458	20	val_307
-307	459	3	val_307
-307	459	4	val_307
+298	458	5	val_298
+298	458	19	val_298
+298	458	20	val_298
+298	459	1	val_298
+298	459	4	val_298
+298	459	4	val_298
+302	456	10	val_302
+302	457	6	val_302
+302	458	6	val_302
+302	458	7	val_302
+302	459	6	val_302
+305	456	10	val_305
+305	457	10	val_305
+305	458	10	val_305
+305	458	10	val_305
+305	459	10	val_305
+306	456	14	val_306
+306	457	6	val_306
+306	458	3	val_306
+306	458	6	val_306
+306	459	6	val_306
+307	456	23	val_307
+307	456	28	val_307
+307	457	7	val_307
+307	457	16	val_307
+307	458	7	val_307
+307	458	9	val_307
+307	458	16	val_307
+307	458	27	val_307
+307	459	7	val_307
+307	459	16	val_307
 308	456	4	val_308
 308	457	2	val_308
 308	458	2	val_308
 308	458	9	val_308
 308	459	2	val_308
-309	456	23	val_309
-309	456	27	val_309
-309	457	3	val_309
-309	457	27	val_309
+309	456	7	val_309
+309	456	20	val_309
+309	457	1	val_309
+309	457	10	val_309
 309	458	1	val_309
-309	458	3	val_309
-309	458	3	val_309
-309	458	27	val_309
-309	459	3	val_309
-309	459	27	val_309
-310	456	10	val_310
-310	457	13	val_310
-310	458	13	val_310
-310	458	13	val_310
-310	459	13	val_310
-311	456	1	val_311
-311	456	25	val_311
+309	458	5	val_309
+309	458	10	val_309
+309	458	10	val_309
+309	459	1	val_309
+309	459	10	val_309
+310	456	27	val_310
+310	457	3	val_310
+310	458	3	val_310
+310	458	3	val_310
+310	459	3	val_310
+311	456	20	val_311
+311	456	23	val_311
 311	456	27	val_311
-311	457	0	val_311
-311	457	2	val_311
+311	457	7	val_311
+311	457	9	val_311
 311	457	24	val_311
-311	458	0	val_311
-311	458	2	val_311
-311	458	17	val_311
+311	458	7	val_311
+311	458	9	val_311
+311	458	24	val_311
 311	458	24	val_311
 311	458	27	val_311
-311	458	27	val_311
-311	459	0	val_311
-311	459	2	val_311
+311	458	28	val_311
+311	459	7	val_311
+311	459	9	val_311
 311	459	24	val_311
-315	456	4	val_315
-315	457	14	val_315
-315	458	1	val_315
-315	458	14	val_315
-315	459	14	val_315
-316	456	2	val_316
-316	456	11	val_316
-316	456	23	val_316
-316	457	5	val_316
-316	457	11	val_316
+315	456	19	val_315
+315	457	24	val_315
+315	458	24	val_315
+315	458	28	val_315
+315	459	24	val_315
+316	456	16	val_316
+316	456	27	val_316
+316	456	27	val_316
+316	457	6	val_316
+316	457	20	val_316
 316	457	24	val_316
-316	458	1	val_316
 316	458	5	val_316
-316	458	11	val_316
-316	458	11	val_316
+316	458	6	val_316
+316	458	20	val_316
+316	458	20	val_316
 316	458	24	val_316
-316	458	27	val_316
-316	459	5	val_316
-316	459	11	val_316
+316	458	24	val_316
+316	459	6	val_316
+316	459	20	val_316
 316	459	24	val_316
-317	456	13	val_317
-317	456	20	val_317
-317	457	17	val_317
-317	457	19	val_317
-317	458	17	val_317
-317	458	19	val_317
-317	458	19	val_317
-317	458	25	val_317
-317	459	17	val_317
-317	459	19	val_317
-318	456	7	val_318
+317	456	9	val_317
+317	456	10	val_317
+317	457	27	val_317
+317	457	28	val_317
+317	458	20	val_317
+317	458	27	val_317
+317	458	28	val_317
+317	458	28	val_317
+317	459	27	val_317
+317	459	28	val_317
 318	456	9	val_318
 318	456	14	val_318
+318	456	19	val_318
 318	457	6	val_318
 318	457	11	val_318
 318	457	24	val_318
@@ -3785,581 +3785,581 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 318	458	6	val_318
 318	458	7	val_318
 318	458	11	val_318
-318	458	14	val_318
 318	458	24	val_318
+318	458	28	val_318
 318	459	6	val_318
 318	459	11	val_318
 318	459	24	val_318
+321	456	9	val_321
 321	456	10	val_321
-321	456	27	val_321
-321	457	1	val_321
-321	457	7	val_321
-321	458	1	val_321
-321	458	3	val_321
+321	457	4	val_321
+321	457	9	val_321
+321	458	4	val_321
 321	458	7	val_321
 321	458	9	val_321
-321	459	1	val_321
-321	459	7	val_321
-322	456	4	val_322
-322	456	5	val_322
-322	457	0	val_322
-322	457	15	val_322
-322	458	0	val_322
-322	458	1	val_322
-322	458	14	val_322
-322	458	15	val_322
-322	459	0	val_322
-322	459	15	val_322
-323	456	4	val_323
+321	458	24	val_321
+321	459	4	val_321
+321	459	9	val_321
+322	456	3	val_322
+322	456	24	val_322
+322	457	6	val_322
+322	457	20	val_322
+322	458	2	val_322
+322	458	6	val_322
+322	458	7	val_322
+322	458	20	val_322
+322	459	6	val_322
+322	459	20	val_322
+323	456	28	val_323
 323	457	14	val_323
 323	458	14	val_323
-323	458	15	val_323
+323	458	14	val_323
 323	459	14	val_323
-325	456	5	val_325
-325	456	10	val_325
-325	457	6	val_325
-325	457	10	val_325
-325	458	6	val_325
-325	458	6	val_325
-325	458	10	val_325
-325	458	10	val_325
-325	459	6	val_325
-325	459	10	val_325
-327	456	1	val_327
+325	456	1	val_325
+325	456	28	val_325
+325	457	1	val_325
+325	457	9	val_325
+325	458	1	val_325
+325	458	1	val_325
+325	458	9	val_325
+325	458	9	val_325
+325	459	1	val_325
+325	459	9	val_325
 327	456	10	val_327
 327	456	27	val_327
-327	457	2	val_327
+327	456	27	val_327
 327	457	6	val_327
 327	457	13	val_327
-327	458	2	val_327
+327	457	27	val_327
 327	458	6	val_327
 327	458	7	val_327
 327	458	13	val_327
-327	458	14	val_327
 327	458	20	val_327
-327	459	2	val_327
+327	458	27	val_327
+327	458	27	val_327
 327	459	6	val_327
 327	459	13	val_327
-331	456	20	val_331
+327	459	27	val_327
+331	456	13	val_331
 331	456	27	val_331
-331	457	3	val_331
-331	457	7	val_331
-331	458	2	val_331
-331	458	3	val_331
-331	458	7	val_331
-331	458	10	val_331
-331	459	3	val_331
-331	459	7	val_331
-332	456	20	val_332
+331	457	9	val_331
+331	457	13	val_331
+331	458	9	val_331
+331	458	13	val_331
+331	458	13	val_331
+331	458	27	val_331
+331	459	9	val_331
+331	459	13	val_331
+332	456	4	val_332
 332	457	14	val_332
+332	458	1	val_332
 332	458	14	val_332
-332	458	17	val_332
 332	459	14	val_332
-333	456	19	val_333
+333	456	2	val_333
 333	456	24	val_333
-333	457	4	val_333
-333	457	7	val_333
-333	458	4	val_333
-333	458	4	val_333
-333	458	7	val_333
-333	458	9	val_333
-333	459	4	val_333
-333	459	7	val_333
-335	456	2	val_335
-335	457	6	val_335
-335	458	6	val_335
-335	458	28	val_335
-335	459	6	val_335
-336	456	6	val_336
-336	457	27	val_336
-336	458	6	val_336
-336	458	27	val_336
-336	459	27	val_336
-338	456	11	val_338
+333	457	5	val_333
+333	457	16	val_333
+333	458	5	val_333
+333	458	5	val_333
+333	458	16	val_333
+333	458	27	val_333
+333	459	5	val_333
+333	459	16	val_333
+335	456	7	val_335
+335	457	23	val_335
+335	458	10	val_335
+335	458	23	val_335
+335	459	23	val_335
+336	456	27	val_336
+336	457	3	val_336
+336	458	3	val_336
+336	458	10	val_336
+336	459	3	val_336
+338	456	4	val_338
 338	457	14	val_338
-338	458	2	val_338
+338	458	1	val_338
 338	458	14	val_338
 338	459	14	val_338
-339	456	1	val_339
-339	457	11	val_339
-339	458	11	val_339
-339	458	17	val_339
-339	459	11	val_339
-341	456	1	val_341
-341	457	24	val_341
-341	458	5	val_341
-341	458	24	val_341
-341	459	24	val_341
-342	456	3	val_342
-342	456	14	val_342
-342	457	6	val_342
-342	457	20	val_342
-342	458	2	val_342
-342	458	6	val_342
-342	458	20	val_342
-342	458	20	val_342
-342	459	6	val_342
-342	459	20	val_342
-344	456	13	val_344
-344	456	16	val_344
-344	457	17	val_344
-344	457	28	val_344
-344	458	6	val_344
-344	458	17	val_344
+339	456	14	val_339
+339	457	16	val_339
+339	458	2	val_339
+339	458	16	val_339
+339	459	16	val_339
+341	456	10	val_341
+341	457	25	val_341
+341	458	7	val_341
+341	458	25	val_341
+341	459	25	val_341
+342	456	4	val_342
+342	456	24	val_342
+342	457	1	val_342
+342	457	23	val_342
+342	458	1	val_342
+342	458	10	val_342
+342	458	23	val_342
+342	458	23	val_342
+342	459	1	val_342
+342	459	23	val_342
+344	456	10	val_344
+344	456	24	val_344
+344	457	9	val_344
+344	457	23	val_344
+344	458	4	val_344
+344	458	9	val_344
+344	458	9	val_344
 344	458	23	val_344
-344	458	28	val_344
-344	459	17	val_344
-344	459	28	val_344
+344	459	9	val_344
+344	459	23	val_344
 345	456	3	val_345
-345	457	14	val_345
-345	458	14	val_345
-345	458	14	val_345
-345	459	14	val_345
-348	456	1	val_348
-348	456	2	val_348
+345	457	4	val_345
+345	458	4	val_345
+345	458	25	val_345
+345	459	4	val_345
+348	456	4	val_348
 348	456	9	val_348
-348	456	14	val_348
-348	456	28	val_348
-348	457	0	val_348
-348	457	7	val_348
-348	457	11	val_348
-348	457	16	val_348
-348	457	28	val_348
-348	458	0	val_348
-348	458	5	val_348
-348	458	5	val_348
+348	456	10	val_348
+348	456	23	val_348
+348	456	24	val_348
+348	457	2	val_348
+348	457	6	val_348
+348	457	9	val_348
+348	457	10	val_348
+348	457	24	val_348
+348	458	2	val_348
+348	458	6	val_348
 348	458	7	val_348
 348	458	7	val_348
 348	458	9	val_348
+348	458	9	val_348
 348	458	10	val_348
-348	458	11	val_348
-348	458	16	val_348
-348	458	28	val_348
-348	459	0	val_348
-348	459	7	val_348
-348	459	11	val_348
-348	459	16	val_348
-348	459	28	val_348
-351	456	9	val_351
-351	457	5	val_351
-351	458	2	val_351
-351	458	5	val_351
-351	459	5	val_351
-353	456	9	val_353
-353	456	23	val_353
+348	458	14	val_348
+348	458	23	val_348
+348	458	24	val_348
+348	459	2	val_348
+348	459	6	val_348
+348	459	9	val_348
+348	459	10	val_348
+348	459	24	val_348
+351	456	14	val_351
+351	457	28	val_351
+351	458	10	val_351
+351	458	28	val_351
+351	459	28	val_351
+353	456	10	val_353
+353	456	16	val_353
+353	457	4	val_353
 353	457	10	val_353
-353	457	20	val_353
+353	458	1	val_353
+353	458	4	val_353
 353	458	10	val_353
-353	458	20	val_353
-353	458	24	val_353
-353	458	27	val_353
+353	458	10	val_353
+353	459	4	val_353
 353	459	10	val_353
-353	459	20	val_353
 356	456	19	val_356
 356	457	10	val_356
 356	458	1	val_356
 356	458	10	val_356
 356	459	10	val_356
-360	456	5	val_360
-360	457	11	val_360
-360	458	6	val_360
-360	458	11	val_360
-360	459	11	val_360
-362	456	27	val_362
-362	457	27	val_362
-362	458	27	val_362
-362	458	27	val_362
-362	459	27	val_362
-364	456	28	val_364
-364	457	14	val_364
-364	458	3	val_364
-364	458	14	val_364
-364	459	14	val_364
+360	456	24	val_360
+360	457	24	val_360
+360	458	24	val_360
+360	458	24	val_360
+360	459	24	val_360
+362	456	10	val_362
+362	457	10	val_362
+362	458	10	val_362
+362	458	10	val_362
+362	459	10	val_362
+364	456	7	val_364
+364	457	28	val_364
+364	458	13	val_364
+364	458	28	val_364
+364	459	28	val_364
 365	456	10	val_365
-365	457	28	val_365
-365	458	28	val_365
-365	458	28	val_365
-365	459	28	val_365
-366	456	3	val_366
-366	457	6	val_366
-366	458	6	val_366
-366	458	20	val_366
-366	459	6	val_366
-367	456	2	val_367
-367	456	28	val_367
-367	457	1	val_367
-367	457	14	val_367
-367	458	1	val_367
-367	458	1	val_367
-367	458	1	val_367
-367	458	14	val_367
-367	459	1	val_367
-367	459	14	val_367
-368	456	20	val_368
-368	457	4	val_368
-368	458	3	val_368
-368	458	4	val_368
-368	459	4	val_368
+365	457	13	val_365
+365	458	13	val_365
+365	458	13	val_365
+365	459	13	val_365
+366	456	13	val_366
+366	457	24	val_366
+366	458	4	val_366
+366	458	24	val_366
+366	459	24	val_366
+367	456	23	val_367
+367	456	27	val_367
+367	457	24	val_367
+367	457	28	val_367
+367	458	24	val_367
+367	458	24	val_367
+367	458	28	val_367
+367	458	28	val_367
+367	459	24	val_367
+367	459	28	val_367
+368	456	9	val_368
+368	457	6	val_368
+368	458	6	val_368
+368	458	16	val_368
+368	459	6	val_368
+369	456	9	val_369
 369	456	10	val_369
-369	456	14	val_369
 369	456	28	val_369
-369	457	3	val_369
-369	457	17	val_369
+369	457	9	val_369
+369	457	27	val_369
 369	457	27	val_369
-369	458	3	val_369
+369	458	9	val_369
+369	458	9	val_369
 369	458	14	val_369
-369	458	17	val_369
-369	458	20	val_369
-369	458	25	val_369
 369	458	27	val_369
-369	459	3	val_369
-369	459	17	val_369
+369	458	27	val_369
+369	458	27	val_369
+369	459	9	val_369
+369	459	27	val_369
 369	459	27	val_369
-373	456	28	val_373
-373	457	27	val_373
-373	458	14	val_373
-373	458	27	val_373
-373	459	27	val_373
+373	456	10	val_373
+373	457	10	val_373
+373	458	10	val_373
+373	458	10	val_373
+373	459	10	val_373
 374	456	9	val_374
 374	457	7	val_374
 374	458	7	val_374
 374	458	16	val_374
 374	459	7	val_374
-375	456	3	val_375
-375	457	25	val_375
-375	458	6	val_375
-375	458	25	val_375
-375	459	25	val_375
-377	456	9	val_377
-377	457	2	val_377
-377	458	2	val_377
-377	458	2	val_377
-377	459	2	val_377
+375	456	13	val_375
+375	457	28	val_375
+375	458	28	val_375
+375	458	28	val_375
+375	459	28	val_375
+377	456	24	val_377
+377	457	9	val_377
+377	458	9	val_377
+377	458	9	val_377
+377	459	9	val_377
 378	456	27	val_378
 378	457	10	val_378
 378	458	7	val_378
 378	458	10	val_378
 378	459	10	val_378
-379	456	25	val_379
-379	457	27	val_379
-379	458	11	val_379
-379	458	27	val_379
-379	459	27	val_379
+379	456	14	val_379
+379	457	3	val_379
+379	458	2	val_379
+379	458	3	val_379
+379	459	3	val_379
+382	456	23	val_382
 382	456	23	val_382
-382	456	28	val_382
 382	457	3	val_382
-382	457	20	val_382
+382	457	9	val_382
 382	458	3	val_382
 382	458	9	val_382
 382	458	9	val_382
-382	458	20	val_382
+382	458	14	val_382
 382	459	3	val_382
-382	459	20	val_382
-384	456	6	val_384
-384	456	19	val_384
-384	456	20	val_384
-384	457	1	val_384
-384	457	14	val_384
-384	457	17	val_384
-384	458	1	val_384
-384	458	4	val_384
-384	458	14	val_384
-384	458	17	val_384
-384	458	17	val_384
-384	458	28	val_384
-384	459	1	val_384
-384	459	14	val_384
-384	459	17	val_384
+382	459	9	val_382
+384	456	10	val_384
+384	456	24	val_384
+384	456	28	val_384
+384	457	9	val_384
+384	457	11	val_384
+384	457	16	val_384
+384	458	7	val_384
+384	458	9	val_384
+384	458	9	val_384
+384	458	10	val_384
+384	458	11	val_384
+384	458	16	val_384
+384	459	9	val_384
+384	459	11	val_384
+384	459	16	val_384
 386	456	1	val_386
 386	457	7	val_386
 386	458	7	val_386
 386	458	10	val_386
 386	459	7	val_386
-389	456	28	val_389
+389	456	10	val_389
 389	457	10	val_389
 389	458	10	val_389
-389	458	24	val_389
+389	458	10	val_389
 389	459	10	val_389
-392	456	9	val_392
-392	457	28	val_392
-392	458	27	val_392
-392	458	28	val_392
-392	459	28	val_392
-393	456	20	val_393
-393	457	15	val_393
-393	458	11	val_393
-393	458	15	val_393
-393	459	15	val_393
-394	456	27	val_394
+392	456	7	val_392
+392	457	7	val_392
+392	458	7	val_392
+392	458	7	val_392
+392	459	7	val_392
+393	456	9	val_393
+393	457	25	val_393
+393	458	25	val_393
+393	458	28	val_393
+393	459	25	val_393
+394	456	1	val_394
 394	457	27	val_394
-394	458	27	val_394
+394	458	9	val_394
 394	458	27	val_394
 394	459	27	val_394
-395	456	1	val_395
-395	456	5	val_395
-395	457	0	val_395
-395	457	11	val_395
-395	458	0	val_395
-395	458	11	val_395
-395	458	11	val_395
-395	458	17	val_395
-395	459	0	val_395
-395	459	11	val_395
-396	456	7	val_396
-396	456	27	val_396
-396	456	28	val_396
-396	457	3	val_396
-396	457	14	val_396
-396	457	24	val_396
-396	458	3	val_396
+395	456	10	val_395
+395	456	20	val_395
+395	457	9	val_395
+395	457	10	val_395
+395	458	9	val_395
+395	458	10	val_395
+395	458	27	val_395
+395	458	28	val_395
+395	459	9	val_395
+395	459	10	val_395
+396	456	3	val_396
+396	456	10	val_396
+396	456	14	val_396
+396	457	11	val_396
+396	457	20	val_396
+396	457	27	val_396
 396	458	6	val_396
-396	458	14	val_396
-396	458	14	val_396
-396	458	24	val_396
+396	458	9	val_396
+396	458	10	val_396
+396	458	11	val_396
+396	458	20	val_396
 396	458	27	val_396
-396	459	3	val_396
-396	459	14	val_396
-396	459	24	val_396
-397	456	1	val_397
-397	456	20	val_397
-397	457	2	val_397
-397	457	16	val_397
-397	458	2	val_397
-397	458	16	val_397
-397	458	16	val_397
-397	458	20	val_397
-397	459	2	val_397
-397	459	16	val_397
+396	459	11	val_396
+396	459	20	val_396
+396	459	27	val_396
+397	456	9	val_397
+397	456	28	val_397
+397	457	7	val_397
+397	457	10	val_397
+397	458	7	val_397
+397	458	7	val_397
+397	458	9	val_397
+397	458	10	val_397
+397	459	7	val_397
+397	459	10	val_397
 399	456	4	val_399
-399	456	23	val_399
+399	456	16	val_399
 399	457	2	val_399
-399	457	24	val_399
+399	457	25	val_399
+399	458	1	val_399
 399	458	2	val_399
 399	458	24	val_399
-399	458	24	val_399
-399	458	24	val_399
+399	458	25	val_399
 399	459	2	val_399
-399	459	24	val_399
-400	456	27	val_400
-400	457	6	val_400
-400	458	6	val_400
-400	458	7	val_400
-400	459	6	val_400
-401	456	10	val_401
+399	459	25	val_399
+400	456	20	val_400
+400	457	11	val_400
+400	458	5	val_400
+400	458	11	val_400
+400	459	11	val_400
+401	456	14	val_401
+401	456	19	val_401
+401	456	19	val_401
 401	456	19	val_401
 401	456	24	val_401
-401	456	25	val_401
-401	456	28	val_401
-401	457	11	val_401
-401	457	15	val_401
-401	457	20	val_401
+401	457	1	val_401
+401	457	7	val_401
+401	457	19	val_401
 401	457	24	val_401
-401	457	24	val_401
-401	458	11	val_401
-401	458	11	val_401
-401	458	15	val_401
-401	458	16	val_401
+401	457	27	val_401
+401	458	1	val_401
+401	458	1	val_401
+401	458	2	val_401
+401	458	7	val_401
+401	458	19	val_401
+401	458	19	val_401
 401	458	20	val_401
 401	458	23	val_401
 401	458	24	val_401
-401	458	24	val_401
-401	458	24	val_401
-401	458	25	val_401
-401	459	11	val_401
-401	459	15	val_401
-401	459	20	val_401
-401	459	24	val_401
+401	458	27	val_401
+401	459	1	val_401
+401	459	7	val_401
+401	459	19	val_401
 401	459	24	val_401
-402	456	5	val_402
-402	457	1	val_402
-402	458	1	val_402
-402	458	1	val_402
-402	459	1	val_402
-403	456	20	val_403
-403	456	28	val_403
-403	456	28	val_403
-403	457	1	val_403
-403	457	11	val_403
-403	457	14	val_403
-403	458	1	val_403
-403	458	5	val_403
-403	458	6	val_403
-403	458	11	val_403
-403	458	11	val_403
-403	458	14	val_403
-403	459	1	val_403
-403	459	11	val_403
-403	459	14	val_403
+401	459	27	val_401
+402	456	24	val_402
+402	457	9	val_402
+402	458	9	val_402
+402	458	14	val_402
+402	459	9	val_402
+403	456	9	val_403
+403	456	19	val_403
+403	456	27	val_403
+403	457	9	val_403
+403	457	9	val_403
+403	457	25	val_403
+403	458	9	val_403
+403	458	9	val_403
+403	458	25	val_403
+403	458	27	val_403
+403	458	28	val_403
+403	458	28	val_403
+403	459	9	val_403
+403	459	9	val_403
+403	459	25	val_403
 404	456	7	val_404
-404	456	13	val_404
+404	456	27	val_404
 404	457	24	val_404
-404	457	24	val_404
-404	458	23	val_404
+404	457	25	val_404
+404	458	5	val_404
 404	458	23	val_404
 404	458	24	val_404
-404	458	24	val_404
-404	459	24	val_404
+404	458	25	val_404
 404	459	24	val_404
-406	456	2	val_406
-406	456	6	val_406
-406	456	20	val_406
+404	459	25	val_404
+406	456	7	val_406
 406	456	24	val_406
+406	456	24	val_406
+406	456	28	val_406
 406	457	5	val_406
-406	457	5	val_406
-406	457	17	val_406
+406	457	10	val_406
+406	457	16	val_406
 406	457	28	val_406
-406	458	4	val_406
-406	458	5	val_406
 406	458	5	val_406
+406	458	9	val_406
 406	458	10	val_406
-406	458	17	val_406
-406	458	17	val_406
-406	458	28	val_406
+406	458	10	val_406
+406	458	10	val_406
+406	458	10	val_406
+406	458	16	val_406
 406	458	28	val_406
 406	459	5	val_406
-406	459	5	val_406
-406	459	17	val_406
+406	459	10	val_406
+406	459	16	val_406
 406	459	28	val_406
-407	456	7	val_407
-407	457	4	val_407
-407	458	4	val_407
-407	458	6	val_407
-407	459	4	val_407
+407	456	23	val_407
+407	457	14	val_407
+407	458	14	val_407
+407	458	14	val_407
+407	459	14	val_407
 409	456	1	val_409
 409	456	20	val_409
 409	456	24	val_409
+409	457	3	val_409
 409	457	4	val_409
 409	457	10	val_409
-409	457	27	val_409
-409	458	1	val_409
+409	458	3	val_409
 409	458	4	val_409
 409	458	9	val_409
 409	458	10	val_409
 409	458	20	val_409
-409	458	27	val_409
+409	458	20	val_409
+409	459	3	val_409
 409	459	4	val_409
 409	459	10	val_409
-409	459	27	val_409
-411	456	20	val_411
-411	457	1	val_411
-411	458	1	val_411
-411	458	16	val_411
-411	459	1	val_411
-413	456	7	val_413
-413	456	16	val_413
-413	457	10	val_413
-413	457	17	val_413
-413	458	4	val_413
-413	458	10	val_413
-413	458	10	val_413
-413	458	17	val_413
-413	459	10	val_413
-413	459	17	val_413
-414	456	10	val_414
-414	456	24	val_414
-414	457	5	val_414
-414	457	6	val_414
-414	458	5	val_414
-414	458	6	val_414
-414	458	10	val_414
-414	458	20	val_414
-414	459	5	val_414
-414	459	6	val_414
-417	456	5	val_417
-417	456	6	val_417
+411	456	10	val_411
+411	457	23	val_411
+411	458	13	val_411
+411	458	23	val_411
+411	459	23	val_411
+413	456	9	val_413
+413	456	24	val_413
+413	457	3	val_413
+413	457	7	val_413
+413	458	2	val_413
+413	458	3	val_413
+413	458	7	val_413
+413	458	7	val_413
+413	459	3	val_413
+413	459	7	val_413
+414	456	1	val_414
+414	456	27	val_414
+414	457	11	val_414
+414	457	28	val_414
+414	458	7	val_414
+414	458	11	val_414
+414	458	27	val_414
+414	458	28	val_414
+414	459	11	val_414
+414	459	28	val_414
+417	456	10	val_417
+417	456	13	val_417
 417	456	24	val_417
-417	457	2	val_417
-417	457	20	val_417
-417	457	27	val_417
-417	458	2	val_417
-417	458	4	val_417
-417	458	17	val_417
-417	458	20	val_417
-417	458	20	val_417
-417	458	27	val_417
-417	459	2	val_417
-417	459	20	val_417
-417	459	27	val_417
+417	457	10	val_417
+417	457	10	val_417
+417	457	13	val_417
+417	458	9	val_417
+417	458	10	val_417
+417	458	10	val_417
+417	458	10	val_417
+417	458	13	val_417
+417	458	13	val_417
+417	459	10	val_417
+417	459	10	val_417
+417	459	13	val_417
 418	456	10	val_418
 418	457	24	val_418
 418	458	24	val_418
 418	458	24	val_418
 418	459	24	val_418
-419	456	24	val_419
-419	457	9	val_419
-419	458	9	val_419
+419	456	4	val_419
+419	457	2	val_419
+419	458	2	val_419
 419	458	9	val_419
-419	459	9	val_419
-421	456	5	val_421
-421	457	6	val_421
-421	458	6	val_421
-421	458	11	val_421
-421	459	6	val_421
-424	456	10	val_424
-424	456	23	val_424
-424	457	10	val_424
-424	457	14	val_424
-424	458	10	val_424
-424	458	10	val_424
-424	458	14	val_424
+419	459	2	val_419
+421	456	4	val_421
+421	457	24	val_421
+421	458	24	val_421
+421	458	24	val_421
+421	459	24	val_421
+424	456	2	val_424
+424	456	4	val_424
+424	457	4	val_424
+424	457	24	val_424
+424	458	1	val_424
+424	458	4	val_424
+424	458	20	val_424
 424	458	24	val_424
-424	459	10	val_424
-424	459	14	val_424
+424	459	4	val_424
+424	459	24	val_424
 427	456	7	val_427
 427	457	9	val_427
 427	458	4	val_427
 427	458	9	val_427
 427	459	9	val_427
-429	456	11	val_429
+429	456	4	val_429
 429	456	14	val_429
 429	457	5	val_429
-429	457	14	val_429
+429	457	28	val_429
 429	458	2	val_429
 429	458	5	val_429
-429	458	14	val_429
-429	458	27	val_429
+429	458	28	val_429
+429	458	28	val_429
 429	459	5	val_429
-429	459	14	val_429
-430	456	7	val_430
-430	456	16	val_430
-430	456	24	val_430
-430	457	2	val_430
-430	457	2	val_430
-430	457	10	val_430
-430	458	1	val_430
-430	458	2	val_430
-430	458	2	val_430
-430	458	4	val_430
+429	459	28	val_429
+430	456	9	val_430
+430	456	9	val_430
+430	456	27	val_430
+430	457	7	val_430
+430	457	13	val_430
+430	457	13	val_430
 430	458	7	val_430
+430	458	7	val_430
+430	458	9	val_430
 430	458	10	val_430
-430	459	2	val_430
-430	459	2	val_430
-430	459	10	val_430
-431	456	3	val_431
-431	456	4	val_431
-431	456	7	val_431
-431	457	1	val_431
-431	457	1	val_431
-431	457	13	val_431
-431	458	1	val_431
+430	458	13	val_430
+430	458	13	val_430
+430	459	7	val_430
+430	459	13	val_430
+430	459	13	val_430
+431	456	9	val_431
+431	456	19	val_431
+431	456	28	val_431
+431	457	10	val_431
+431	457	20	val_431
+431	457	28	val_431
 431	458	1	val_431
+431	458	7	val_431
 431	458	10	val_431
-431	458	13	val_431
 431	458	20	val_431
+431	458	23	val_431
 431	458	28	val_431
-431	459	1	val_431
-431	459	1	val_431
-431	459	13	val_431
-432	456	19	val_432
-432	457	28	val_432
-432	458	23	val_432
-432	458	28	val_432
-432	459	28	val_432
-435	456	7	val_435
-435	457	28	val_435
-435	458	13	val_435
-435	458	28	val_435
-435	459	28	val_435
+431	459	10	val_431
+431	459	20	val_431
+431	459	28	val_431
+432	456	10	val_432
+432	457	20	val_432
+432	458	5	val_432
+432	458	20	val_432
+432	459	20	val_432
+435	456	28	val_435
+435	457	1	val_435
+435	458	1	val_435
+435	458	10	val_435
+435	459	1	val_435
 436	456	10	val_436
 436	457	9	val_436
 436	458	9	val_436
@@ -4370,360 +4370,360 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
 437	458	2	val_437
 437	458	20	val_437
 437	459	20	val_437
-438	456	1	val_438
-438	456	10	val_438
-438	456	27	val_438
-438	457	19	val_438
-438	457	24	val_438
-438	457	25	val_438
-438	458	5	val_438
-438	458	13	val_438
-438	458	19	val_438
-438	458	24	val_438
-438	458	25	val_438
+438	456	16	val_438
+438	456	20	val_438
+438	456	20	val_438
+438	457	6	val_438
+438	457	6	val_438
+438	457	28	val_438
+438	458	6	val_438
+438	458	6	val_438
+438	458	6	val_438
+438	458	16	val_438
 438	458	28	val_438
-438	459	19	val_438
-438	459	24	val_438
-438	459	25	val_438
-439	456	16	val_439
-439	456	28	val_439
-439	457	7	val_439
-439	457	17	val_439
-439	458	7	val_439
-439	458	7	val_439
-439	458	11	val_439
-439	458	17	val_439
-439	459	7	val_439
-439	459	17	val_439
-443	456	6	val_443
+438	458	28	val_438
+438	459	6	val_438
+438	459	6	val_438
+438	459	28	val_438
+439	456	19	val_439
+439	456	27	val_439
+439	457	4	val_439
+439	457	27	val_439
+439	458	4	val_439
+439	458	4	val_439
+439	458	27	val_439
+439	458	27	val_439
+439	459	4	val_439
+439	459	27	val_439
+443	456	23	val_443
 443	457	24	val_443
-443	458	5	val_443
+443	458	24	val_443
 443	458	24	val_443
 443	459	24	val_443
-444	456	25	val_444
-444	457	15	val_444
-444	458	14	val_444
-444	458	15	val_444
-444	459	15	val_444
-446	456	6	val_446
-446	457	0	val_446
-446	458	0	val_446
-446	458	5	val_446
-446	459	0	val_446
-448	456	23	val_448
-448	457	10	val_448
-448	458	10	val_448
-448	458	24	val_448
-448	459	10	val_448
-449	456	19	val_449
-449	457	20	val_449
-449	458	1	val_449
-449	458	20	val_449
-449	459	20	val_449
-452	456	16	val_452
-452	457	6	val_452
-452	458	6	val_452
-452	458	28	val_452
-452	459	6	val_452
-453	456	28	val_453
-453	457	16	val_453
-453	458	16	val_453
-453	458	20	val_453
-453	459	16	val_453
-454	456	1	val_454
+444	456	19	val_444
+444	457	4	val_444
+444	458	4	val_444
+444	458	4	val_444
+444	459	4	val_444
+446	456	23	val_446
+446	457	9	val_446
+446	458	9	val_446
+446	458	24	val_446
+446	459	9	val_446
+448	456	4	val_448
+448	457	27	val_448
+448	458	1	val_448
+448	458	27	val_448
+448	459	27	val_448
+449	456	13	val_449
+449	457	9	val_449
+449	458	9	val_449
+449	458	28	val_449
+449	459	9	val_449
+452	456	23	val_452
+452	457	23	val_452
+452	458	23	val_452
+452	458	23	val_452
+452	459	23	val_452
+453	456	23	val_453
+453	457	2	val_453
+453	458	2	val_453
+453	458	9	val_453
+453	459	2	val_453
+454	456	7	val_454
 454	456	10	val_454
-454	456	16	val_454
-454	457	6	val_454
-454	457	19	val_454
-454	457	24	val_454
-454	458	1	val_454
-454	458	6	val_454
+454	456	20	val_454
+454	457	11	val_454
+454	457	13	val_454
+454	457	23	val_454
+454	458	5	val_454
+454	458	10	val_454
+454	458	11	val_454
 454	458	13	val_454
-454	458	14	val_454
-454	458	19	val_454
-454	458	24	val_454
-454	459	6	val_454
-454	459	19	val_454
-454	459	24	val_454
-455	456	6	val_455
-455	457	17	val_455
-455	458	11	val_455
-455	458	17	val_455
-455	459	17	val_455
+454	458	23	val_454
+454	458	23	val_454
+454	459	11	val_454
+454	459	13	val_454
+454	459	23	val_454
+455	456	9	val_455
+455	457	28	val_455
+455	458	16	val_455
+455	458	28	val_455
+455	459	28	val_455
 457	456	1	val_457
 457	457	7	val_457
 457	458	2	val_457
 457	458	7	val_457
 457	459	7	val_457
-458	456	7	val_458
-458	456	10	val_458
+458	456	9	val_458
+458	456	16	val_458
 458	457	4	val_458
-458	457	10	val_458
+458	457	19	val_458
 458	458	4	val_458
-458	458	10	val_458
-458	458	10	val_458
+458	458	6	val_458
+458	458	13	val_458
 458	458	19	val_458
 458	459	4	val_458
-458	459	10	val_458
-459	456	10	val_459
+458	459	19	val_458
 459	456	20	val_459
+459	456	28	val_459
 459	457	1	val_459
-459	457	10	val_459
+459	457	20	val_459
 459	458	1	val_459
-459	458	10	val_459
-459	458	10	val_459
+459	458	14	val_459
+459	458	20	val_459
 459	458	20	val_459
 459	459	1	val_459
-459	459	10	val_459
-460	456	23	val_460
-460	457	28	val_460
-460	458	28	val_460
-460	458	28	val_460
-460	459	28	val_460
-462	456	11	val_462
-462	456	27	val_462
-462	457	3	val_462
+459	459	20	val_459
+460	456	3	val_460
+460	457	20	val_460
+460	458	20	val_460
+460	458	20	val_460
+460	459	20	val_460
+462	456	9	val_462
+462	456	24	val_462
 462	457	5	val_462
-462	458	3	val_462
+462	457	9	val_462
 462	458	5	val_462
-462	458	14	val_462
+462	458	9	val_462
+462	458	9	val_462
 462	458	16	val_462
-462	459	3	val_462
 462	459	5	val_462
-463	456	16	val_463
-463	456	24	val_463
-463	457	4	val_463
-463	457	20	val_463
-463	458	4	val_463
-463	458	7	val_463
+462	459	9	val_462
+463	456	5	val_463
+463	456	23	val_463
+463	457	6	val_463
+463	457	9	val_463
+463	458	6	val_463
 463	458	9	val_463
-463	458	20	val_463
-463	459	4	val_463
-463	459	20	val_463
-466	456	9	val_466
-466	456	16	val_466
-466	456	19	val_466
-466	457	5	val_466
-466	457	11	val_466
-466	457	23	val_466
-466	458	2	val_466
+463	458	25	val_463
+463	458	28	val_463
+463	459	6	val_463
+463	459	9	val_463
+466	456	7	val_466
+466	456	10	val_466
+466	456	10	val_466
+466	457	1	val_466
+466	457	13	val_466
+466	457	20	val_466
+466	458	1	val_466
 466	458	5	val_466
-466	458	7	val_466
-466	458	11	val_466
-466	458	23	val_466
-466	458	23	val_466
-466	459	5	val_466
-466	459	11	val_466
-466	459	23	val_466
-467	456	13	val_467
-467	457	23	val_467
-467	458	4	val_467
-467	458	23	val_467
-467	459	23	val_467
-468	456	7	val_468
-468	456	7	val_468
+466	458	10	val_466
+466	458	13	val_466
+466	458	19	val_466
+466	458	20	val_466
+466	459	1	val_466
+466	459	13	val_466
+466	459	20	val_466
+467	456	27	val_467
+467	457	7	val_467
+467	458	7	val_467
+467	458	28	val_467
+467	459	7	val_467
+468	456	1	val_468
+468	456	14	val_468
 468	456	19	val_468
-468	456	24	val_468
-468	457	7	val_468
-468	457	10	val_468
+468	456	20	val_468
+468	457	5	val_468
+468	457	6	val_468
 468	457	10	val_468
-468	457	14	val_468
-468	458	7	val_468
-468	458	10	val_468
-468	458	10	val_468
-468	458	10	val_468
+468	457	16	val_468
+468	458	3	val_468
+468	458	5	val_468
+468	458	6	val_468
 468	458	10	val_468
 468	458	14	val_468
-468	458	14	val_468
-468	458	17	val_468
-468	459	7	val_468
-468	459	10	val_468
+468	458	16	val_468
+468	458	16	val_468
+468	458	27	val_468
+468	459	5	val_468
+468	459	6	val_468
 468	459	10	val_468
-468	459	14	val_468
-469	456	1	val_469
+468	459	16	val_468
+469	456	13	val_469
 469	456	13	val_469
 469	456	14	val_469
-469	456	19	val_469
 469	456	20	val_469
+469	456	28	val_469
+469	457	1	val_469
 469	457	1	val_469
 469	457	1	val_469
-469	457	9	val_469
-469	457	24	val_469
+469	457	11	val_469
 469	457	27	val_469
 469	458	1	val_469
 469	458	1	val_469
-469	458	9	val_469
-469	458	14	val_469
+469	458	1	val_469
+469	458	6	val_469
+469	458	11	val_469
 469	458	16	val_469
-469	458	24	val_469
+469	458	23	val_469
 469	458	24	val_469
 469	458	27	val_469
 469	458	28	val_469
-469	458	28	val_469
 469	459	1	val_469
 469	459	1	val_469
-469	459	9	val_469
-469	459	24	val_469
+469	459	1	val_469
+469	459	11	val_469
 469	459	27	val_469
 470	456	27	val_470
 470	457	1	val_470
 470	458	1	val_470
 470	458	1	val_470
 470	459	1	val_470
-472	456	6	val_472
-472	457	14	val_472
+472	456	16	val_472
+472	457	11	val_472
+472	458	5	val_472
 472	458	11	val_472
-472	458	14	val_472
-472	459	14	val_472
-475	456	7	val_475
-475	457	6	val_475
-475	458	6	val_475
-475	458	6	val_475
-475	459	6	val_475
-477	456	14	val_477
-477	457	7	val_477
-477	458	2	val_477
-477	458	7	val_477
-477	459	7	val_477
+472	459	11	val_472
+475	456	1	val_475
+475	457	9	val_475
+475	458	9	val_475
+475	458	9	val_475
+475	459	9	val_475
+477	456	24	val_477
+477	457	5	val_477
+477	458	5	val_477
+477	458	10	val_477
+477	459	5	val_477
 478	456	9	val_478
-478	456	13	val_478
-478	457	4	val_478
-478	457	9	val_478
-478	458	4	val_478
-478	458	9	val_478
-478	458	9	val_478
+478	456	10	val_478
+478	457	10	val_478
+478	457	19	val_478
+478	458	10	val_478
+478	458	10	val_478
+478	458	13	val_478
 478	458	19	val_478
-478	459	4	val_478
-478	459	9	val_478
-479	456	20	val_479
-479	457	17	val_479
-479	458	1	val_479
-479	458	17	val_479
-479	459	17	val_479
-480	456	14	val_480
-480	456	24	val_480
-480	456	27	val_480
-480	457	9	val_480
-480	457	16	val_480
-480	457	27	val_480
-480	458	9	val_480
+478	459	10	val_478
+478	459	19	val_478
+479	456	7	val_479
+479	457	7	val_479
+479	458	7	val_479
+479	458	7	val_479
+479	459	7	val_479
+480	456	1	val_480
+480	456	1	val_480
+480	456	20	val_480
+480	457	2	val_480
+480	457	11	val_480
+480	457	20	val_480
+480	458	2	val_480
 480	458	9	val_480
-480	458	16	val_480
-480	458	27	val_480
-480	458	27	val_480
-480	458	27	val_480
-480	459	9	val_480
-480	459	16	val_480
-480	459	27	val_480
+480	458	11	val_480
+480	458	11	val_480
+480	458	20	val_480
+480	458	20	val_480
+480	459	2	val_480
+480	459	11	val_480
+480	459	20	val_480
 481	456	28	val_481
 481	457	5	val_481
 481	458	5	val_481
 481	458	10	val_481
 481	459	5	val_481
-482	456	9	val_482
-482	457	9	val_482
-482	458	9	val_482
-482	458	9	val_482
-482	459	9	val_482
-483	456	5	val_483
-483	457	3	val_483
-483	458	3	val_483
-483	458	25	val_483
-483	459	3	val_483
+482	456	14	val_482
+482	457	2	val_482
+482	458	2	val_482
+482	458	27	val_482
+482	459	2	val_482
+483	456	4	val_483
+483	457	20	val_483
+483	458	1	val_483
+483	458	20	val_483
+483	459	20	val_483
 484	456	10	val_484
 484	457	23	val_484
 484	458	13	val_484
 484	458	23	val_484
 484	459	23	val_484
-485	456	7	val_485
-485	457	28	val_485
-485	458	1	val_485
-485	458	28	val_485
-485	459	28	val_485
-487	456	10	val_487
-487	457	10	val_487
-487	458	10	val_487
-487	458	10	val_487
-487	459	10	val_487
-489	456	4	val_489
-489	456	9	val_489
+485	456	13	val_485
+485	457	4	val_485
+485	458	4	val_485
+485	458	4	val_485
+485	459	4	val_485
+487	456	28	val_487
+487	457	9	val_487
+487	458	9	val_487
+487	458	14	val_487
+487	459	9	val_487
+489	456	2	val_489
 489	456	10	val_489
-489	456	14	val_489
+489	456	24	val_489
+489	456	27	val_489
+489	457	6	val_489
 489	457	9	val_489
-489	457	9	val_489
-489	457	19	val_489
+489	457	13	val_489
 489	457	27	val_489
-489	458	1	val_489
-489	458	9	val_489
+489	458	6	val_489
 489	458	9	val_489
+489	458	10	val_489
 489	458	13	val_489
-489	458	19	val_489
+489	458	20	val_489
 489	458	24	val_489
 489	458	27	val_489
 489	458	27	val_489
+489	459	6	val_489
 489	459	9	val_489
-489	459	9	val_489
-489	459	19	val_489
+489	459	13	val_489
 489	459	27	val_489
-490	456	3	val_490
-490	457	15	val_490
-490	458	1	val_490
-490	458	15	val_490
-490	459	15	val_490
-491	456	16	val_491
-491	457	1	val_491
+490	456	9	val_490
+490	457	4	val_490
+490	458	4	val_490
+490	458	10	val_490
+490	459	4	val_490
+491	456	2	val_491
+491	457	4	val_491
 491	458	1	val_491
-491	458	6	val_491
-491	459	1	val_491
-492	456	6	val_492
-492	456	13	val_492
-492	457	14	val_492
-492	457	15	val_492
-492	458	14	val_492
-492	458	15	val_492
-492	458	17	val_492
-492	458	23	val_492
-492	459	14	val_492
-492	459	15	val_492
-493	456	4	val_493
-493	457	23	val_493
-493	458	23	val_493
-493	458	23	val_493
-493	459	23	val_493
-494	456	10	val_494
-494	457	13	val_494
-494	458	13	val_494
-494	458	13	val_494
-494	459	13	val_494
+491	458	4	val_491
+491	459	4	val_491
+492	456	10	val_492
+492	456	20	val_492
+492	457	7	val_492
+492	457	24	val_492
+492	458	3	val_492
+492	458	4	val_492
+492	458	7	val_492
+492	458	24	val_492
+492	459	7	val_492
+492	459	24	val_492
+493	456	16	val_493
+493	457	7	val_493
+493	458	7	val_493
+493	458	7	val_493
+493	459	7	val_493
+494	456	20	val_494
+494	457	28	val_494
+494	458	16	val_494
+494	458	28	val_494
+494	459	28	val_494
 495	456	27	val_495
 495	457	25	val_495
 495	458	7	val_495
 495	458	25	val_495
 495	459	25	val_495
-496	456	28	val_496
-496	457	2	val_496
-496	458	2	val_496
-496	458	4	val_496
-496	459	2	val_496
-497	456	28	val_497
-497	457	4	val_497
-497	458	4	val_497
-497	458	20	val_497
-497	459	4	val_497
-498	456	3	val_498
-498	456	10	val_498
+496	456	1	val_496
+496	457	5	val_496
+496	458	5	val_496
+496	458	10	val_496
+496	459	5	val_496
+497	456	1	val_497
+497	457	14	val_497
+497	458	14	val_497
+497	458	24	val_497
+497	459	14	val_497
+498	456	2	val_498
+498	456	28	val_498
 498	456	28	val_498
-498	457	10	val_498
-498	457	14	val_498
+498	457	4	val_498
+498	457	11	val_498
 498	457	28	val_498
-498	458	10	val_498
-498	458	10	val_498
-498	458	14	val_498
-498	458	15	val_498
+498	458	4	val_498
+498	458	11	val_498
+498	458	20	val_498
+498	458	20	val_498
 498	458	20	val_498
 498	458	28	val_498
-498	459	10	val_498
-498	459	14	val_498
+498	459	4	val_498
+498	459	11	val_498
 498	459	28	val_498
 PREHOOK: query: drop table dp_mm
 PREHOOK: type: DROPTABLE

From 3a16399105d97fb6cd36e916112e96198e59caf1 Mon Sep 17 00:00:00 2001
From: kokila 
Date: Thu, 25 Jul 2024 18:30:11 +0530
Subject: [PATCH 54/62] Add --add-opens to hadoop bash script so that when a
 child jvm is spawned from mapred , the arguments can be passed

---
 testutils/hadoop | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/testutils/hadoop b/testutils/hadoop
index 08fa2e87985f..f86d476e890c 100755
--- a/testutils/hadoop
+++ b/testutils/hadoop
@@ -29,7 +29,8 @@ bin=`cd "$bin"; pwd`
 export MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-4}
 
 JAVA=$JAVA_HOME/bin/java
-JAVA_HEAP_MAX=-Xmx1000m 
+JAVA_HEAP_MAX=-Xmx1000m
+JAVA17_ADDITIONAL_ARGS=" --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED"
 
 # check envvars which might override default args
 if [ "$HADOOP_HEAPSIZE" != "" ]; then
@@ -71,6 +72,9 @@ HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.policy.file=$HADOOP_POLICYFILE"
 # Disable ipv6 as it can cause issues
 HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
 
+# Additional arguments for JAVA 17
+HADOOP_OPTS="$HADOOP_OPTS $JAVA17_ADDITIONAL_ARGS"
+
 COMMAND=$1
 # the core commands
 if [ "$COMMAND" = "fs" ] ; then

From 6418d2a7645794265ec481e1b6ce9fd3692e4bb9 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Tue, 30 Jul 2024 13:58:56 +0530
Subject: [PATCH 55/62] Add opens to child JVM for TestPermsGrp (#23)

---
 .../test/java/org/apache/hive/hcatalog/cli/TestPermsGrp.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/cli/TestPermsGrp.java b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/cli/TestPermsGrp.java
index 749409a03620..47c216d0b90b 100644
--- a/hcatalog/core/src/test/java/org/apache/hive/hcatalog/cli/TestPermsGrp.java
+++ b/hcatalog/core/src/test/java/org/apache/hive/hcatalog/cli/TestPermsGrp.java
@@ -218,7 +218,8 @@ private int callHCatCli(String[] args) throws Exception {
     argsList.addAll(Arrays.asList(args));
     ProcessBuilder builder = new ProcessBuilder().command(argsList.toArray(new String[] {}));
     builder.environment().put("CLASSPATH", System.getProperty("java.class.path"));
-
+    builder.environment().put("JAVA_TOOL_OPTIONS", "--add-opens=java.base/java.net=ALL-UNNAMED");
+    
     Process p = builder.start();
 
     String line;

From 8618d6c158190b7780b168cdd37b4aef203b3b5e Mon Sep 17 00:00:00 2001
From: kokila 
Date: Tue, 30 Jul 2024 21:46:05 +0530
Subject: [PATCH 56/62] fix NoClassDefFoundError:
 org/apache/hadoop/shaded/com/ctc/wstx/io/InputBootstrapper exclude
 hadoop-client-api 3.3.5 which is transitive dependency from orc-tools.

---
 llap-server/pom.xml | 6 ++++++
 ql/pom.xml          | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/llap-server/pom.xml b/llap-server/pom.xml
index d90296d6023c..09d72d51cd9c 100644
--- a/llap-server/pom.xml
+++ b/llap-server/pom.xml
@@ -183,6 +183,12 @@
     
       org.apache.orc
       orc-core
+      
+        
+          org.apache.hadoop
+          hadoop-client-api
+        
+      
     
     
       org.apache.tez
diff --git a/ql/pom.xml b/ql/pom.xml
index d7b074e74063..0ab8a9446139 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -367,6 +367,12 @@
       org.apache.orc
       orc-tools
       ${orc.version}
+      
+        
+          org.apache.hadoop
+          hadoop-client-api
+        
+      
     
     
       org.apache.ivy

From 8e28f2abaebcf2543e335c1ef08223bc64a2aadb Mon Sep 17 00:00:00 2001
From: akshat0395 
Date: Wed, 7 Aug 2024 18:36:25 +0530
Subject: [PATCH 57/62] Fix hadoop RunJar issues for ql

---
 ql/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ql/pom.xml b/ql/pom.xml
index 0ab8a9446139..248d8c52a8d2 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -1018,7 +1018,7 @@
             US/Pacific
             en_US.UTF-8
             ${test.conf.dir}:${basedir}/${hive.path.to.root}/conf
-            ${project.build.directory}/deplibs/*
+            ${test.hive.hadoop.classpath}
             ${env.PATH}${test.extra.path}
           
         

From 377ba057e7f30a3729d2f61bec0c8b34a992f186 Mon Sep 17 00:00:00 2001
From: Akshat Mathur 
Date: Thu, 8 Aug 2024 08:06:17 +0530
Subject: [PATCH 58/62] Add patched datanucleus module to packaging (#26)

---
 packaging/src/main/assembly/src.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/packaging/src/main/assembly/src.xml b/packaging/src/main/assembly/src.xml
index 18b80a6d64a2..89d7f25ea63c 100644
--- a/packaging/src/main/assembly/src.xml
+++ b/packaging/src/main/assembly/src.xml
@@ -105,6 +105,7 @@
         standalone-metastore/metastore-common/**/*
         standalone-metastore/metastore-server/**/*
         standalone-metastore/metastore-tools/**/*
+        standalone-metastore/patched-datanucleus-rdbms/**/*
         standalone-metastore/src/assembly/src.xml
         standalone-metastore/pom.xml
         streaming/**/*

From 428954fc5625229f69239d45d76b602d3dab51b2 Mon Sep 17 00:00:00 2001
From: tanishq-chugh <157357971+tanishq-chugh@users.noreply.github.com>
Date: Thu, 22 Aug 2024 17:07:05 +0530
Subject: [PATCH 59/62] hcatalog javadoc fixes (#27)

---
 hcatalog/webhcat/svr/pom.xml | 52 ++++++++++++++----------------------
 pom.xml                      | 14 +++++++---
 2 files changed, 30 insertions(+), 36 deletions(-)

diff --git a/hcatalog/webhcat/svr/pom.xml b/hcatalog/webhcat/svr/pom.xml
index e533025a129e..dc1e5b6e59f5 100644
--- a/hcatalog/webhcat/svr/pom.xml
+++ b/hcatalog/webhcat/svr/pom.xml
@@ -84,14 +84,14 @@
       
     
     
-      com.sun.jersey.contribs
-      wadl-resourcedoc-doclet
-      
-        
-          com.sun.jersey
-          jersey-server
-        
-      
+      org.glassfish.jersey.ext
+      jersey-wadl-doclet
+      ${jersey-wadl-doclet.version}
+    
+    
+      org.glassfish.jaxb
+      jaxb-runtime
+      ${jaxb-runtime.version}
     
     
       org.apache.commons
@@ -258,39 +258,27 @@
               ${project.build.sourceEncoding}
               true
               public
+              org.glassfish.jersey.wadl.doclet.ResourceDoclet
               
                 
-                  jakarta.xml.bind
-                  jakarta.xml.bind-api
-                  2.3.2
+                  org.glassfish.jersey.ext
+                  jersey-wadl-doclet
+                  ${jersey-wadl-doclet.version}
                 
+                
                 
                   org.glassfish.jaxb
                   jaxb-runtime
-                  2.3.2
-                
-                
-                  com.sun.jersey.contribs
-                  wadl-resourcedoc-doclet
-                  ${wadl-resourcedoc-doclet.version}
-                
-                
-                
-                  com.sun.jersey
-                  jersey-server
-                  ${jersey.version}
-                
-                
-                  xerces
-                  xercesImpl
-                  ${xerces.version}
+                  ${jaxb-runtime.version}
                 
               
+              
+                -output ${project.build.outputDirectory}/resourcedoc.xml
+              
               false
-              none
             
           
         
diff --git a/pom.xml b/pom.xml
index 5376ec5fb3ca..6542230982a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -205,7 +205,8 @@
     2.2.0
     1.1
     1.1.10.4
-    1.4
+    4.0.0-M1
+    4.0.0-M1
     2.3
     2.12.2
     2.3.4
@@ -364,9 +365,14 @@
         ${jersey.version}
       
       
-        com.sun.jersey.contribs
-        wadl-resourcedoc-doclet
-        ${wadl-resourcedoc-doclet.version}
+        org.glassfish.jersey.ext
+        jersey-wadl-doclet
+        ${jersey-wadl-doclet.version}
+      
+      
+        org.glassfish.jaxb
+        jaxb-runtime
+        ${jaxb-runtime.version}
       
       
         com.sun.jersey

From aa0ff4a2041d6244d3d39027e5ec9e984b6f3bdb Mon Sep 17 00:00:00 2001
From: kokila-19 
Date: Tue, 27 Aug 2024 22:57:36 +0530
Subject: [PATCH 60/62] Revert "Add patched datanucleus module to packaging
 (#26)"

This reverts commit 377ba057e7f30a3729d2f61bec0c8b34a992f186.
---
 packaging/src/main/assembly/src.xml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/packaging/src/main/assembly/src.xml b/packaging/src/main/assembly/src.xml
index 89d7f25ea63c..18b80a6d64a2 100644
--- a/packaging/src/main/assembly/src.xml
+++ b/packaging/src/main/assembly/src.xml
@@ -105,7 +105,6 @@
         standalone-metastore/metastore-common/**/*
         standalone-metastore/metastore-server/**/*
         standalone-metastore/metastore-tools/**/*
-        standalone-metastore/patched-datanucleus-rdbms/**/*
         standalone-metastore/src/assembly/src.xml
         standalone-metastore/pom.xml
         streaming/**/*

From abc13209639006149135db047909819cb88e03bc Mon Sep 17 00:00:00 2001
From: kokila-19 
Date: Tue, 27 Aug 2024 22:57:49 +0530
Subject: [PATCH 61/62] Revert "datanucleus rdms patch"

This reverts commit 236b05d5ca769e5081d87987810261d0b08f955a.
---
 pom.xml                                       |   6 +-
 standalone-metastore/metastore-server/pom.xml |   6 +-
 .../patched-datanucleus-rdbms/pom.xml         | 139 ----
 .../rdbms/table/ElementContainerTable.java    | 614 ------------------
 .../src/main/resources/plugin.xml             | 151 -----
 .../main/resources/schema/column_mapping.exsd | 181 ------
 .../main/resources/schema/connectionpool.exsd | 122 ----
 .../resources/schema/datastoreadapter.exsd    | 129 ----
 .../resources/schema/identifierfactory.exsd   | 122 ----
 .../main/resources/schema/java_mapping.exsd   | 132 ----
 .../main/resources/schema/sql_expression.exsd | 135 ----
 .../src/main/resources/schema/sql_method.exsd | 142 ----
 .../main/resources/schema/sql_operation.exsd  | 136 ----
 .../main/resources/schema/sql_tablenamer.exsd | 122 ----
 standalone-metastore/pom.xml                  |   5 +-
 15 files changed, 8 insertions(+), 2134 deletions(-)
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/pom.xml
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd
 delete mode 100644 standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd

diff --git a/pom.xml b/pom.xml
index 6542230982a8..67e864556588 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,6 @@
   2008
   
     storage-api
-    standalone-metastore
     accumulo-handler
     vector-code-gen
     beeline
@@ -59,6 +58,7 @@
     kudu-handler
     testutils
     packaging
+    standalone-metastore
     kafka-handler
   
   
@@ -827,8 +827,8 @@
         ${datanucleus-core.version}
       
       
-        org.apache.hive
-        patched-datanucleus-rdbms
+        org.datanucleus
+        datanucleus-rdbms
         ${datanucleus-rdbms.version}
       
       
diff --git a/standalone-metastore/metastore-server/pom.xml b/standalone-metastore/metastore-server/pom.xml
index db0e1b8b943a..efa92b686635 100644
--- a/standalone-metastore/metastore-server/pom.xml
+++ b/standalone-metastore/metastore-server/pom.xml
@@ -287,9 +287,9 @@
       6.0.0-release
     
     
-      org.apache.hive
-      patched-datanucleus-rdbms
-      ${datanucleus-rdbms.version}
+      org.datanucleus
+      datanucleus-rdbms
+      6.0.0-release
     
     
       org.datanucleus
diff --git a/standalone-metastore/patched-datanucleus-rdbms/pom.xml b/standalone-metastore/patched-datanucleus-rdbms/pom.xml
deleted file mode 100644
index 45a238d9dbd7..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/pom.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-  
-    org.apache.hive
-    hive-standalone-metastore
-    4.1.0-SNAPSHOT
-    ../pom.xml
-  
-  4.0.0
-  org.apache.hive
-  patched-datanucleus-rdbms
-  ${datanucleus-rdbms.version}
-  Patched DataNucleus RDBMS
-  
-  
-  
-  
-    ../..
-    ..
-  
-  
-    
-      org.datanucleus
-      datanucleus-rdbms
-      ${datanucleus-rdbms.version}
-      true
-    
-    
-      org.datanucleus
-      datanucleus-core
-      ${datanucleus-core.version}
-    
-  
-  
-    
-      
-        org.apache.maven.plugins
-        maven-dependency-plugin
-        
-          
-            unpack
-            generate-sources
-            
-              unpack
-            
-            
-              
-                
-                  org.datanucleus
-                  datanucleus-rdbms
-                  ${datanucleus-rdbms.version}
-                  jar
-                  true
-                  ${project.build.directory}/classes
-                  
-                      **/ElementContainerTable.class
-                  
-                
-              
-            
-          
-        
-      
-      
-        org.apache.felix
-        maven-bundle-plugin
-        
-          
-            bundle-packaged-jar
-            package
-            
-              bundle
-            
-            
-              
-                org.datanucleus.store.rdbms
-                DataNucleus
-                org.datanucleus.store.rdbms;singleton:=true
-                ${datanucleus-rdbms.version}
-                
-                  org.datanucleus*;version=6.0.0-release,
-                  com.google.cloud.spanner.jdbc;resolution:=optional,
-                  com.ibm.db2.jcc;resolution:=optional,
-                  com.informix.jdbc;resolution:=optional,
-                  com.jolbox.bonecp;resolution:=optional,
-                  com.mchange.v2.c3p0;resolution:=optional,
-                  com.microsoft.sqlserver.jdbc;resolution:=optional,
-                  com.mysql.jdbc;resolution:=optional,
-                  com.sap.dbtech.jdbc;resolution:=optional,
-                  com.sybase.jdbc2.jdbc;resolution:=optional,
-                  com.sybase.jdbc4.jdbc;resolution:=optional,
-                  sybase.jdbc4.sqlanywhere;resolution:=optional,
-                  sap.jdbc4.sqlanywhere;resolution:=optional,
-                  org.sqlite;resolution:=optional,
-                  net.sourceforge.jtds.jdbc;resolution:=optional,
-                  org.apache.derby.jdbc;resolution:=optional,
-                  org.firebirdsql.jdbc;resolution:=optional,
-                  org.h2;resolution:=optional,
-                  org.hsqldb;resolution:=optional,
-                  org.hsqldb.jdbc;resolution:=optional,
-                  org.postgresql;resolution:=optional,
-                  org.apache.tomcat.jdbc.pool;version="7.0.0";resolution:=optional,
-                  *
-                
-              
-            
-          
-        
-      
-      
-        
-        org.apache.maven.plugins
-        maven-assembly-plugin
-        
-          
-            assemble
-            none
-            
-              single
-            
-          
-        
-      
-    
-  
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java b/standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java
deleted file mode 100644
index bdd1982030c6..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/java/org/datanucleus/store/rdbms/table/ElementContainerTable.java
+++ /dev/null
@@ -1,614 +0,0 @@
-/**********************************************************************
- Copyright (c) 2005 Andy Jefferson and others. All rights reserved.
- Licensed 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.
-
-
- Contributors:
- ...
- **********************************************************************/
-package org.datanucleus.store.rdbms.table;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.datanucleus.ClassLoaderResolver;
-import org.datanucleus.exceptions.NucleusUserException;
-import org.datanucleus.metadata.AbstractMemberMetaData;
-import org.datanucleus.metadata.ColumnMetaData;
-import org.datanucleus.metadata.ElementMetaData;
-import org.datanucleus.metadata.FieldRole;
-import org.datanucleus.metadata.ForeignKeyMetaData;
-import org.datanucleus.metadata.IndexMetaData;
-import org.datanucleus.metadata.MetaData;
-import org.datanucleus.metadata.PrimaryKeyMetaData;
-import org.datanucleus.metadata.UniqueMetaData;
-import org.datanucleus.store.rdbms.exceptions.NoTableManagedException;
-import org.datanucleus.store.rdbms.RDBMSPropertyNames;
-import org.datanucleus.store.rdbms.RDBMSStoreManager;
-import org.datanucleus.store.rdbms.identifier.DatastoreIdentifier;
-import org.datanucleus.store.rdbms.identifier.IdentifierFactory;
-import org.datanucleus.store.rdbms.key.CandidateKey;
-import org.datanucleus.store.rdbms.key.ForeignKey;
-import org.datanucleus.store.rdbms.key.Index;
-import org.datanucleus.store.rdbms.mapping.java.EmbeddedElementPCMapping;
-import org.datanucleus.store.rdbms.mapping.java.JavaTypeMapping;
-import org.datanucleus.store.rdbms.mapping.java.PersistableMapping;
-import org.datanucleus.store.rdbms.mapping.java.ReferenceMapping;
-import org.datanucleus.store.rdbms.mapping.java.SerialisedPCMapping;
-import org.datanucleus.util.ClassUtils;
-import org.datanucleus.util.Localiser;
-import org.datanucleus.util.NucleusLogger;
-import org.datanucleus.util.StringUtils;
-
-/**
- * Representation of a join table for a container of elements.
- * Can be used for collections, lists, sets and arrays.
- * There can be multiple JoinTable objects referring to the same underlying datastore object.
- * If the JoinTable is shared by multiple fields, for example, then there will be one for each relation.
- */
-public abstract class ElementContainerTable extends JoinTable
-{
-  /**
-   * Mapping of an element.
-   * This is either a PersistableMapping to the element table, or an EmbeddedElementPCMapping (when PC elements are embedded),
-   * or a simple mapping (when using non-PC elements), or a SerialisedPCMapping, or a SerialisedReferenceMapping.
-   * It will be specified in the MetaData using the <element> tag.
-   */
-  protected JavaTypeMapping elementMapping;
-
-  /**
-   * Order mapping, to provide part of the primary key.
-   * In the case of a List this represents the ordering index.
-   * In the case of a Set this represents an index for allowing duplicates, or where the element is embedded andis of a type that can't be part of the PK.
-   * It will be specified in the MetaData using the <order> tag.
-   */
-  protected JavaTypeMapping orderMapping;
-
-  /**
-   * Optional mapping for a column used to discriminate between elements of one collection from another.
-   * Used where the join table is being shared by more than 1 relation.
-   * Specified using the metadata extension "relation-discriminator-column" in the "field" element.
-   */
-  protected JavaTypeMapping relationDiscriminatorMapping;
-
-  /**
-   * Value to use with any relation discriminator column for objects of this field placed in the join table.
-   * Specified using the metadata extension "relation-discriminator-value" in the "field" element.
-   */
-  protected String relationDiscriminatorValue;
-
-  /**
-   * Constructor.
-   * @param ownerTable Table of the owner of this member
-   * @param tableName Identifier name of this table
-   * @param mmd MetaData for the member owning this join table
-   * @param storeMgr The Store Manager managing these tables.
-   */
-  public ElementContainerTable(Table ownerTable, DatastoreIdentifier tableName, AbstractMemberMetaData mmd, RDBMSStoreManager storeMgr)
-  {
-    super(ownerTable, tableName, mmd, storeMgr);
-  }
-
-  /**
-   * Method to initialise the table definition. Adds the owner mapping.
-   * @param clr The ClassLoaderResolver
-   */
-  @Override
-  public void initialize(ClassLoaderResolver clr)
-  {
-    assertIsUninitialized();
-
-    // Add owner mapping
-    AbstractMemberMetaData[] relatedMmds = mmd.getRelatedMemberMetaData(clr);
-    ColumnMetaData[] columnMetaData = null;
-    if (mmd.getJoinMetaData() != null && mmd.getJoinMetaData().getColumnMetaData() != null && mmd.getJoinMetaData().getColumnMetaData().length > 0)
-    {
-      // Column mappings defined at this side (1-N, M-N)
-      // When specified at this side they use the  tag
-      columnMetaData = mmd.getJoinMetaData().getColumnMetaData();
-    }
-    else if (relatedMmds != null && relatedMmds[0].getElementMetaData() != null && relatedMmds[0].getElementMetaData().getColumnMetaData() != null &&
-            relatedMmds[0].getElementMetaData().getColumnMetaData().length > 0)
-    {
-      // Column mappings defined at other side (M-N)
-      // When specified at other side they use the  tag
-      // ** This is really only for Collections/Sets since M-N doesn't make sense for indexed Lists/arrays **
-      columnMetaData = relatedMmds[0].getElementMetaData().getColumnMetaData();
-    }
-
-    try
-    {
-      ownerMapping = ColumnCreator.createColumnsForJoinTables(clr.classForName(ownerType), mmd, columnMetaData, storeMgr, this, false, false, FieldRole.ROLE_OWNER, clr, ownerTable);
-    }
-    catch (NoTableManagedException ntme)
-    {
-      // Maybe this is a join table from an embedded object, so no table to link back to
-      throw new NucleusUserException("Table " + toString() + " for member=" + mmd.getFullFieldName() +
-              " needs a column to link back to its owner, yet the owner type (" + ownerType + ") has no table of its own (embedded?)");
-    }
-    if (NucleusLogger.DATASTORE.isDebugEnabled())
-    {
-      logMapping(mmd.getFullFieldName()+".[OWNER]", ownerMapping);
-    }
-
-    // Add any distinguisher column
-    if (mmd.hasExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN) || mmd.hasExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_VALUE))
-    {
-      // Generate some columnMetaData for our new column
-      String colName = mmd.getValueForExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_COLUMN);
-      if (colName == null)
-      {
-        // No column defined so use a fallback name
-        colName = "RELATION_DISCRIM";
-      }
-      ColumnMetaData colmd = new ColumnMetaData();
-      colmd.setName(colName);
-
-      boolean relationDiscriminatorPk = false;
-      if (mmd.hasExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_PK) && mmd.getValueForExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_PK).equalsIgnoreCase("true"))
-      {
-        // Default this to not be part of the PK of the join table, but allow the user to override it
-        relationDiscriminatorPk = true;
-      }
-      if (!relationDiscriminatorPk)
-      {
-        colmd.setAllowsNull(Boolean.TRUE); // Allow for elements not in any discriminated collection (when not PK)
-      }
-
-      // Create the mapping and its datastore column (only support String relation discriminators here)
-      relationDiscriminatorMapping = storeMgr.getMappingManager().getMapping(String.class);
-      ColumnCreator.createIndexColumn(relationDiscriminatorMapping, storeMgr, clr, this, colmd, relationDiscriminatorPk);
-
-      relationDiscriminatorValue = mmd.getValueForExtension(MetaData.EXTENSION_MEMBER_RELATION_DISCRIM_VALUE);
-      if (relationDiscriminatorValue == null)
-      {
-        // No value defined so just use the field name
-        relationDiscriminatorValue = mmd.getFullFieldName();
-      }
-    }
-  }
-
-  /**
-   * Access the element type class name
-   * @return the element type class name
-   */
-  public abstract String getElementType();
-
-  /**
-   * Convenience method to apply the user specification of <primary-key> columns
-   * @param pkmd MetaData for the primary key
-   */
-  protected void applyUserPrimaryKeySpecification(PrimaryKeyMetaData pkmd)
-  {
-    ColumnMetaData[] pkCols = pkmd.getColumnMetaData();
-    for (int i=0;i from 
-      ForeignKeyMetaData fkmd = null;
-      if (mmd.getJoinMetaData() != null)
-      {
-        fkmd = mmd.getJoinMetaData().getForeignKeyMetaData();
-      }
-      // TODO If in autoMode and there are multiple possible owner tables then don't create a FK
-      if (fkmd != null || autoMode)
-      {
-        fk = new ForeignKey(ownerMapping, dba, ownerTable, true);
-        fk.setForMetaData(fkmd);
-      }
-    }
-    return fk;
-  }
-
-  /**
-   * Convenience method to generate a ForeignKey from this join table to an element table using the specified mapping.
-   * @param elementTable The element table
-   * @param autoMode Whether we are in auto mode (where we generate the keys regardless of what the metadata says)
-   * @param m The mapping to the element table
-   * @return The ForeignKey
-   */
-  protected ForeignKey getForeignKeyToElement(DatastoreClass elementTable, boolean autoMode, JavaTypeMapping m)
-  {
-    ForeignKey fk = null;
-    if (elementTable != null)
-    {
-      // Take  from either  or 
-      ForeignKeyMetaData fkmd = mmd.getForeignKeyMetaData();
-      if (fkmd == null && mmd.getElementMetaData() != null)
-      {
-        fkmd = mmd.getElementMetaData().getForeignKeyMetaData();
-      }
-      // TODO If in autoMode and there are multiple possible element tables then don't create a FK
-      if (fkmd != null || autoMode)
-      {
-        fk = new ForeignKey(m, dba, elementTable, true);
-        fk.setForMetaData(fkmd);
-      }
-    }
-    return fk;
-  }
-
-
-  /**
-   * Accessor for the expected foreign keys for this table.
-   * @param clr The ClassLoaderResolver
-   * @return The expected foreign keys.
-   */
-  @Override
-  public List getExpectedForeignKeys(ClassLoaderResolver clr)
-  {
-    assertIsInitialized();
-
-    // Find the mode that we're operating in for FK addition
-    boolean autoMode = false;
-    if (storeMgr.getStringProperty(RDBMSPropertyNames.PROPERTY_RDBMS_CONSTRAINT_CREATE_MODE).equals("DataNucleus"))
-    {
-      autoMode = true;
-    }
-
-    List foreignKeys = new ArrayList();
-    try
-    {
-      // FK from join table to owner table
-      DatastoreClass referencedTable = storeMgr.getDatastoreClass(ownerType, clr);
-      if (referencedTable != null)
-      {
-        // Single owner table, so add a single FK to the owner as appropriate
-        ForeignKey fk = getForeignKeyToOwner(referencedTable, autoMode);
-        if (fk != null)
-        {
-          foreignKeys.add(fk);
-        }
-      }
-      else
-      {
-        // No single owner so we don't bother with the FK since referential integrity by FK cannot work
-        // if we don't have a single owner at the other end of the FK(s).
-      }
-
-      // FK from join table to element table(s)
-      if (elementMapping instanceof SerialisedPCMapping)
-      {
-        // Do nothing since no element table
-      }
-      else if (elementMapping instanceof EmbeddedElementPCMapping)
-      {
-        // Add any FKs for the fields of the (embedded) element
-        EmbeddedElementPCMapping embMapping = (EmbeddedElementPCMapping)elementMapping;
-        for (int i=0;i 0 &&
-                  embFieldMapping instanceof PersistableMapping)
-          {
-            // Field is for a PC class with the FK at this side, so add a FK to the table of this PC
-            ForeignKey fk = TableUtils.getForeignKeyForPCField(embFieldMapping, embFmd, autoMode, storeMgr, clr);
-            if (fk != null)
-            {
-              foreignKeys.add(fk);
-            }
-          }
-        }
-      }
-      else if (elementMapping instanceof ReferenceMapping)
-      {
-        JavaTypeMapping[] implJavaTypeMappings = ((ReferenceMapping)elementMapping).getJavaTypeMapping();
-        for (int i=0;i 0)
-          {
-            referencedTable = storeMgr.getDatastoreClass(implMapping.getType(), clr);
-            if (referencedTable != null)
-            {
-              ForeignKey fk = getForeignKeyToElement(referencedTable, autoMode, implMapping);
-              if (fk != null)
-              {
-                foreignKeys.add(fk);
-              }
-            }
-          }
-        }
-      }
-      else
-      {
-        referencedTable = storeMgr.getDatastoreClass(getElementType(), clr);
-        if (referencedTable != null)
-        {
-          ForeignKey fk = getForeignKeyToElement(referencedTable, autoMode, elementMapping);
-          if (fk != null)
-          {
-            foreignKeys.add(fk);
-          }
-        }
-        else
-        {
-          // Either no element table or multiple (where the user has element with "subclass-table" strategy, or using "complete-table")
-          // so do nothing since referential integrity will not allow multiple FKs.
-        }
-      }
-    }
-    catch (NoTableManagedException e)
-    {
-      // expected when no table exists
-    }
-    return foreignKeys;
-  }
-
-  /**
-   * Accessor for the indices for this table.
-   * This includes both the user-defined indices (via MetaData), and the ones required by foreign keys (required by relationships).
-   * @param clr The ClassLoaderResolver
-   * @return The indices
-   */
-  @Override
-  protected Set getExpectedIndices(ClassLoaderResolver clr)
-  {
-    assertIsInitialized();
-
-    Set indices = new HashSet();
-
-    // Index for FK back to owner
-    if (mmd.getIndexMetaData() != null)
-    {
-      Index index = TableUtils.getIndexForField(this, mmd.getIndexMetaData(), ownerMapping);
-      if (index != null)
-      {
-        indices.add(index);
-      }
-    }
-    else if (mmd.getJoinMetaData() != null && mmd.getJoinMetaData().getIndexMetaData() != null)
-    {
-      Index index = TableUtils.getIndexForField(this, mmd.getJoinMetaData().getIndexMetaData(), ownerMapping);
-      if (index != null)
-      {
-        indices.add(index);
-      }
-    }
-    else
-    {
-      // Fallback to an index for the foreign-key to the owner
-      Index index = TableUtils.getIndexForField(this, null, ownerMapping);
-      if (index != null)
-      {
-        indices.add(index);
-      }
-    }
-
-    // Index for FK to element (if required)
-    if (elementMapping instanceof EmbeddedElementPCMapping)
-    {
-      // Add all indices required by fields of the embedded element
-      EmbeddedElementPCMapping embMapping = (EmbeddedElementPCMapping)elementMapping;
-      for (int i=0;i getExpectedCandidateKeys()
-  {
-    // The indices required by foreign keys (BaseTable)
-    List candidateKeys = super.getExpectedCandidateKeys();
-
-    if (elementMapping instanceof EmbeddedElementPCMapping)
-    {
-      // Add all candidate keys required by fields of the embedded element
-      EmbeddedElementPCMapping embMapping = (EmbeddedElementPCMapping)elementMapping;
-      for (int i=0;i 0)
-      {
-        String[] columnNames = unimd.getColumnNames();
-        CandidateKey uniKey = new CandidateKey(this, null);
-        String unimdName = unimd.getName();
-        if (!StringUtils.isWhitespace(unimdName))
-        {
-          uniKey.setName(unimd.getName());
-        }
-
-        IdentifierFactory idFactory = storeMgr.getIdentifierFactory();
-        for (String columnName : columnNames)
-        {
-          Column col = getColumn(idFactory.newColumnIdentifier(columnName));
-          if (col != null)
-          {
-            uniKey.addColumn(col);
-          }
-          else
-          {
-            throw new NucleusUserException("Unique key on join-table " + this + " has column " + columnName + " that is not found");
-          }
-        }
-        candidateKeys.add(uniKey);
-      }
-    }
-
-    return candidateKeys;
-  }
-}
\ No newline at end of file
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml
deleted file mode 100644
index 38d20fa2dbc6..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/plugin.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    
-    
-        
-    
-
-    
-    
-        
-    
-
-    
-    
-        
-        
-    
-
-    
-    
-        
-        
-        
-
-        
-        
-        
-        
-
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-
-        
-        
-        
-        
-        
-        
-        
-        
-        
-
-        
-        
-        
-
-        
-        
-        
-        
-        
-        
-
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-    
-
-    
-    
-        
-        
-        
-        
-    
-
-    
-    
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-        
-    
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd
deleted file mode 100644
index 8f4647e4cd63..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/column_mapping.exsd
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd
deleted file mode 100644
index 71ed290f41c6..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/connectionpool.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd
deleted file mode 100644
index fec5e591b205..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/datastoreadapter.exsd
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd
deleted file mode 100644
index 52062951c638..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/identifierfactory.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         Extension allowing definition of a factory for creating datastore identifiers.
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd
deleted file mode 100644
index 416b39124776..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/java_mapping.exsd
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd
deleted file mode 100644
index 669391597e6b..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_expression.exsd
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd
deleted file mode 100644
index 12c826fe5bfe..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_method.exsd
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd
deleted file mode 100644
index a1dd86a7493e..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_operation.exsd
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd b/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd
deleted file mode 100644
index e1cc2f940ae3..000000000000
--- a/standalone-metastore/patched-datanucleus-rdbms/src/main/resources/schema/sql_tablenamer.exsd
+++ /dev/null
@@ -1,122 +0,0 @@
-
-
-
-
-
-      
-         
-      
-      
-         [Enter description of this extension point.]
-      
-   
-
-   
-      
-         
-            
-         
-      
-      
-         
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-            
-               
-                  
-               
-               
-                  
-               
-            
-         
-         
-            
-               
-                  
-               
-            
-         
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter the first release in which this extension point appears.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter extension point usage example here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter API information here.]
-      
-   
-
-   
-      
-         
-      
-      
-         [Enter information about supplied implementation of this extension point.]
-      
-   
-
-
-
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index 3245bd9bc273..20a38a68023f 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -26,7 +26,6 @@
   Hive Standalone Metastore
   2008
   
-    patched-datanucleus-rdbms
     metastore-common
     metastore-server
     metastore-tools
@@ -312,8 +311,8 @@
         ${datanucleus-core.version}
       
       
-        org.apache.hive
-        patched-datanucleus-rdbms
+        org.datanucleus
+        datanucleus-rdbms
         ${datanucleus-rdbms.version}
       
       

From 5bd9c0d712c107c50c06afb99d4bdba29f452cca Mon Sep 17 00:00:00 2001
From: kokila-19 
Date: Tue, 27 Aug 2024 21:50:44 +0530
Subject: [PATCH 62/62] HIVE-28481: Upgrade DataNucleus core and rdbms to 6.0.8
 and api-jdo to 6.0.3 for jdk-17

Required Datanucleus with fix https://github.com/datanucleus/datanucleus-rdbms/commit/b99df3c803862f9e9feacc7891461bcb21160b38
---
 pom.xml                      | 6 +++---
 standalone-metastore/pom.xml | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/pom.xml b/pom.xml
index 67e864556588..839f3ca33f0b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,10 +114,10 @@
     1.11.3
     1.78
     1.25.0
-    6.0.0-release
-    6.0.0-release
+    6.0.3
+    6.0.8
     3.2.0-release
-    6.0.0-release
+    6.0.8
     1.5.0
     1.15
     3.2.2
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index 20a38a68023f..497182fb6819 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -66,10 +66,10 @@
     1.1.3
     2.9.0
     1.2.0
-    6.0.0-release
-    6.0.0-release
+    6.0.3
+    6.0.8
     3.2.0-release
-    6.0.0-release
+    6.0.8
     10.14.2.0
     2.5.0
     6.2.1.jre8
JSON TypeJava Type