[NO ISSUE][*DB]: Update Azure blob library

Change-Id: I0b46060587dd787dfd7cbd0cb454491fe3c4d373
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17551
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mblow@apache.org>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-external-data/pom.xml b/asterixdb/asterix-external-data/pom.xml
index 6cc875a..21bbfb9 100644
--- a/asterixdb/asterix-external-data/pom.xml
+++ b/asterixdb/asterix-external-data/pom.xml
@@ -210,6 +210,7 @@
               <usedDependency>io.netty:netty-resolver-dns</usedDependency>
               <usedDependency>io.netty:netty-codec-http2</usedDependency>
               <usedDependency>io.netty:netty-transport-native-unix-common</usedDependency>
+              <usedDependency>io.netty:netty-handler-proxy</usedDependency>
             </usedDependencies>
           </configuration>
         </plugin>
@@ -502,5 +503,9 @@
       <groupId>io.netty</groupId>
       <artifactId>netty-transport-native-unix-common</artifactId>
     </dependency>
+    <dependency>
+      <groupId>io.netty</groupId>
+      <artifactId>netty-handler-proxy</artifactId>
+    </dependency>
   </dependencies>
 </project>
diff --git a/asterixdb/asterix-server/pom.xml b/asterixdb/asterix-server/pom.xml
index 2e6afb2..33ab588 100644
--- a/asterixdb/asterix-server/pom.xml
+++ b/asterixdb/asterix-server/pom.xml
@@ -218,15 +218,22 @@
             </override>
             <override>
               <gavs>
-                <gav>com.azure:azure-core:1.24.1</gav>
-                <gav>com.azure:azure-core-http-netty:1.11.6</gav>
-                <gav>com.azure:azure-storage-blob:12.14.3</gav>
-                <gav>com.azure:azure-storage-common:12.14.2</gav>
-                <gav>com.azure:azure-storage-internal-avro:12.1.3</gav>
+                <gav>com.azure:azure-core:1.38.0</gav>
+                <gav>com.azure:azure-core-http-netty:1.13.2</gav>
+                <gav>com.azure:azure-json:1.0.0</gav>
+                <gav>com.azure:azure-storage-blob:12.22.0</gav>
+                <gav>com.azure:azure-storage-common:12.21.0</gav>
+                <gav>com.azure:azure-storage-internal-avro:12.7.0</gav>
               </gavs>
-              <!-- azure-storage-blob-batch_12.11.3 release is at 89a32290750a18d1b99c27c16b1b11d42f16c622 -->
-              <noticeUrl>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/89a32290750a18d1b99c27c16b1b11d42f16c622/NOTICE.txt</noticeUrl>
-              <url>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/89a32290750a18d1b99c27c16b1b11d42f16c622/LICENSE.txt</url>
+              <noticeUrl>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/azure-storage-blob_12.22.0/NOTICE.txt</noticeUrl>
+              <url>https://raw.githubusercontent.com/Azure/azure-sdk-for-java/azure-storage-blob_12.22.0/LICENSE.txt</url>
+            </override>
+            <override>
+              <gavs>
+                <gav>io.projectreactor.netty:reactor-netty-core:1.0.28</gav>
+                <gav>io.projectreactor.netty:reactor-netty-http:1.0.28</gav>
+              </gavs>
+              <url>https://raw.githubusercontent.com/reactor/reactor-netty/v1.0.28/LICENSE</url>
             </override>
             <override>
               <gav>org.mindrot:jbcrypt:0.4</gav>
@@ -271,6 +278,7 @@
                 <aliasUrl>http://www.apache.org/licenses/LICENSE-2.0.html</aliasUrl>
                 <aliasUrl>https://www.apache.org/licenses/LICENSE-2.0.html</aliasUrl>
                 <aliasUrl>https://aws.amazon.com/apache2.0</aliasUrl>
+                <aliasUrl>https://raw.githubusercontent.com/reactor/reactor-netty/v1.0.28/LICENSE</aliasUrl>
               </aliasUrls>
               <metric>1</metric>
             </license>
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index 5d6a5fe..92f0473 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -88,7 +88,8 @@
     <jacoco.version>0.7.6.201602180812</jacoco.version>
     <log4j.version>2.19.0</log4j.version>
     <awsjavasdk.version>2.17.218</awsjavasdk.version>
-    <azurejavasdk.version>12.12.0</azurejavasdk.version>
+    <azureblobjavasdk.version>12.22.0</azureblobjavasdk.version>
+    <azurecommonjavasdk.version>12.21.0</azurecommonjavasdk.version>
     <parquet.version>1.8.2</parquet.version>
 
     <implementation.title>Apache AsterixDB - ${project.name}</implementation.title>
@@ -1523,7 +1524,7 @@
       <dependency>
         <groupId>com.azure</groupId>
         <artifactId>azure-storage-blob</artifactId>
-        <version>12.14.3</version>
+        <version>${azureblobjavasdk.version}</version>
         <exclusions>
           <exclusion>
             <groupId>io.netty</groupId>
@@ -1594,7 +1595,7 @@
       <dependency>
         <groupId>com.azure</groupId>
         <artifactId>azure-storage-common</artifactId>
-        <version>12.14.2</version>
+        <version>${azurecommonjavasdk.version}</version>
         <exclusions>
           <exclusion>
             <groupId>io.netty</groupId>
diff --git a/asterixdb/src/main/appended-resources/supplemental-models.xml b/asterixdb/src/main/appended-resources/supplemental-models.xml
index 24eca6a..2300c92 100644
--- a/asterixdb/src/main/appended-resources/supplemental-models.xml
+++ b/asterixdb/src/main/appended-resources/supplemental-models.xml
@@ -229,6 +229,18 @@
   <supplement>
     <project>
       <groupId>io.netty</groupId>
+      <artifactId>netty-codec-socks</artifactId>
+      <properties>
+        <!-- netty is ALv2, and does not contain any embedded LICENSE or NOTICE file -->
+        <license.ignoreMissingEmbeddedLicense>4.1.87.Final</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>4.1.87.Final</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreNoticeOverride>4.1.87.Final</license.ignoreNoticeOverride>
+      </properties>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>io.netty</groupId>
       <artifactId>netty-handler</artifactId>
       <properties>
         <!-- netty is ALv2, and does not contain any embedded LICENSE or NOTICE file -->
@@ -241,6 +253,18 @@
   <supplement>
     <project>
       <groupId>io.netty</groupId>
+      <artifactId>netty-handler-proxy</artifactId>
+      <properties>
+        <!-- netty is ALv2, and does not contain any embedded LICENSE or NOTICE file -->
+        <license.ignoreMissingEmbeddedLicense>4.1.87.Final</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>4.1.87.Final</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreNoticeOverride>4.1.87.Final</license.ignoreNoticeOverride>
+      </properties>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>io.netty</groupId>
       <artifactId>netty-buffer</artifactId>
       <properties>
         <!-- netty is ALv2, and does not contain any embedded LICENSE or NOTICE file -->
@@ -653,10 +677,10 @@
       <groupId>com.azure</groupId>
       <artifactId>azure-storage-blob</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>12.14.3</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>12.14.3</license.ignoreMissingEmbeddedNotice>
-        <license.ignoreLicenseOverride>12.14.3</license.ignoreLicenseOverride>
-        <license.ignoreNoticeOverride>12.14.3</license.ignoreNoticeOverride>
+        <license.ignoreMissingEmbeddedLicense>12.22.0</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>12.22.0</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreLicenseOverride>12.22.0</license.ignoreLicenseOverride>
+        <license.ignoreNoticeOverride>12.22.0</license.ignoreNoticeOverride>
       </properties>
     </project>
   </supplement>
@@ -666,10 +690,10 @@
       <groupId>com.azure</groupId>
       <artifactId>azure-storage-common</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>12.14.2</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>12.14.2</license.ignoreMissingEmbeddedNotice>
-        <license.ignoreLicenseOverride>12.14.2</license.ignoreLicenseOverride>
-        <license.ignoreNoticeOverride>12.14.2</license.ignoreNoticeOverride>
+        <license.ignoreMissingEmbeddedLicense>12.21.0</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>12.21.0</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreLicenseOverride>12.21.0</license.ignoreLicenseOverride>
+        <license.ignoreNoticeOverride>12.21.0</license.ignoreNoticeOverride>
       </properties>
     </project>
   </supplement>
@@ -679,10 +703,10 @@
       <groupId>com.azure</groupId>
       <artifactId>azure-storage-internal-avro</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>12.1.3</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>12.1.3</license.ignoreMissingEmbeddedNotice>
-        <license.ignoreLicenseOverride>12.1.3</license.ignoreLicenseOverride>
-        <license.ignoreNoticeOverride>12.1.3</license.ignoreNoticeOverride>
+        <license.ignoreMissingEmbeddedLicense>12.7.0</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>12.7.0</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreLicenseOverride>12.7.0</license.ignoreLicenseOverride>
+        <license.ignoreNoticeOverride>12.7.0</license.ignoreNoticeOverride>
       </properties>
     </project>
   </supplement>
@@ -692,10 +716,10 @@
       <groupId>com.azure</groupId>
       <artifactId>azure-core</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>1.24.1</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>1.24.1</license.ignoreMissingEmbeddedNotice>
-        <license.ignoreLicenseOverride>1.24.1</license.ignoreLicenseOverride>
-        <license.ignoreNoticeOverride>1.24.1</license.ignoreNoticeOverride>
+        <license.ignoreMissingEmbeddedLicense>1.38.0</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>1.38.0</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreLicenseOverride>1.38.0</license.ignoreLicenseOverride>
+        <license.ignoreNoticeOverride>1.38.0</license.ignoreNoticeOverride>
       </properties>
     </project>
   </supplement>
@@ -705,10 +729,23 @@
       <groupId>com.azure</groupId>
       <artifactId>azure-core-http-netty</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>1.11.6</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>1.11.6</license.ignoreMissingEmbeddedNotice>
-        <license.ignoreLicenseOverride>1.11.6</license.ignoreLicenseOverride>
-        <license.ignoreNoticeOverride>1.11.6</license.ignoreNoticeOverride>
+        <license.ignoreMissingEmbeddedLicense>1.13.2</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>1.13.2</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreLicenseOverride>1.13.2</license.ignoreLicenseOverride>
+        <license.ignoreNoticeOverride>1.13.2</license.ignoreNoticeOverride>
+      </properties>
+    </project>
+  </supplement>
+
+  <supplement>
+    <project>
+      <groupId>com.azure</groupId>
+      <artifactId>azure-json</artifactId>
+      <properties>
+        <license.ignoreMissingEmbeddedLicense>1.0.0</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>1.0.0</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreLicenseOverride>1.0.0</license.ignoreLicenseOverride>
+        <license.ignoreNoticeOverride>1.0.0</license.ignoreNoticeOverride>
       </properties>
     </project>
   </supplement>
@@ -721,7 +758,7 @@
       <groupId>com.fasterxml.jackson.datatype</groupId>
       <artifactId>jackson-datatype-jsr310</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedNotice>2.13.1</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreMissingEmbeddedNotice>2.13.5</license.ignoreMissingEmbeddedNotice>
       </properties>
     </project>
   </supplement>
@@ -733,7 +770,7 @@
       <groupId>com.fasterxml.woodstox</groupId>
       <artifactId>woodstox-core</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedNotice>6.2.7</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreMissingEmbeddedNotice>6.4.0</license.ignoreMissingEmbeddedNotice>
       </properties>
     </project>
   </supplement>
@@ -756,8 +793,8 @@
       <groupId>io.projectreactor</groupId>
       <artifactId>reactor-core</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>3.4.13</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>3.4.13</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreMissingEmbeddedLicense>3.4.27</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>3.4.27</license.ignoreMissingEmbeddedNotice>
       </properties>
     </project>
   </supplement>
@@ -768,8 +805,8 @@
       <groupId>io.projectreactor.netty</groupId>
       <artifactId>reactor-netty</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>1.0.14</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>1.0.14</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreMissingEmbeddedLicense>1.0.28</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>1.0.28</license.ignoreMissingEmbeddedNotice>
       </properties>
     </project>
   </supplement>
@@ -780,8 +817,8 @@
       <groupId>io.projectreactor.netty</groupId>
       <artifactId>reactor-netty-core</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>1.0.14</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>1.0.14</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreMissingEmbeddedLicense>1.0.28</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>1.0.28</license.ignoreMissingEmbeddedNotice>
       </properties>
     </project>
   </supplement>
@@ -792,8 +829,8 @@
       <groupId>io.projectreactor.netty</groupId>
       <artifactId>reactor-netty-http</artifactId>
       <properties>
-        <license.ignoreMissingEmbeddedLicense>1.0.14</license.ignoreMissingEmbeddedLicense>
-        <license.ignoreMissingEmbeddedNotice>1.0.14</license.ignoreMissingEmbeddedNotice>
+        <license.ignoreMissingEmbeddedLicense>1.0.28</license.ignoreMissingEmbeddedLicense>
+        <license.ignoreMissingEmbeddedNotice>1.0.28</license.ignoreMissingEmbeddedNotice>
       </properties>
     </project>
   </supplement>
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_89a32290750a18d1b99c27c16b1b11d42f16c622_LICENSE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_azure-storage-blob_12.22.0_LICENSE.txt
similarity index 100%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_89a32290750a18d1b99c27c16b1b11d42f16c622_LICENSE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_azure-storage-blob_12.22.0_LICENSE.txt
diff --git a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_89a32290750a18d1b99c27c16b1b11d42f16c622_NOTICE.txt b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_azure-storage-blob_12.22.0_NOTICE.txt
similarity index 96%
rename from asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_89a32290750a18d1b99c27c16b1b11d42f16c622_NOTICE.txt
rename to asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_azure-storage-blob_12.22.0_NOTICE.txt
index 9cee825..f997389 100644
--- a/asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_89a32290750a18d1b99c27c16b1b11d42f16c622_NOTICE.txt
+++ b/asterixdb/src/main/licenses/content/raw.githubusercontent.com_Azure_azure-sdk-for-java_azure-storage-blob_12.22.0_NOTICE.txt
@@ -511,4 +511,23 @@
 the License.
 
 Openkeepass License Link: https://github.com/cternes/openkeepass/blob/master/LICENSE.txt
--------------------------------------------------------------------------------------------------
\ No newline at end of file
+-------------------------------------------------------------------------------------------------
+
+License notice for Apache Commons
+------------------------------------------------------------------------------
+
+Copyright 2002-2019 The Apache Software Foundation
+
+commons-codec (https://github.com/apache/commons-codec)
+commons-text (https://github.com/apache/commons-text)
+commons-lang (https://github.com/apache/commons-lang)
+commons-collections (https://github.com/apache/commons-collections)
+
+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.
\ No newline at end of file
diff --git a/hyracks-fullstack/pom.xml b/hyracks-fullstack/pom.xml
index b91cbd1..9380fb1 100644
--- a/hyracks-fullstack/pom.xml
+++ b/hyracks-fullstack/pom.xml
@@ -117,6 +117,11 @@
       </dependency>
       <dependency>
         <groupId>io.netty</groupId>
+        <artifactId>netty-handler-proxy</artifactId>
+        <version>${netty.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>io.netty</groupId>
         <artifactId>netty-transport-classes-epoll</artifactId>
         <version>${netty.version}</version>
       </dependency>