From 2b8fc4a58eed0355cc684a1d72dd64089302b6f7 Mon Sep 17 00:00:00 2001 From: hgklohr Date: Mon, 3 Jun 2024 20:46:01 +0000 Subject: [PATCH 1/8] Update pom's for 7.1.0-SNAPSHOT --- common-test/pom.xml | 2 +- contrib/datawave-quickstart/docker/pom.xml | 2 +- core/cached-results/pom.xml | 2 +- core/common-util/pom.xml | 2 +- core/common/pom.xml | 2 +- core/connection-pool/pom.xml | 2 +- core/map-reduce/pom.xml | 2 +- core/modification/pom.xml | 2 +- core/pom.xml | 2 +- core/query/pom.xml | 2 +- core/utils/pom.xml | 2 +- docs/pom.xml | 2 +- microservices/pom.xml | 2 +- microservices/services/pom.xml | 2 +- microservices/starters/pom.xml | 2 +- pom.xml | 2 +- warehouse/accumulo-extensions/pom.xml | 2 +- warehouse/age-off-utils/pom.xml | 2 +- warehouse/age-off/pom.xml | 2 +- warehouse/assemble/datawave/pom.xml | 2 +- warehouse/assemble/pom.xml | 2 +- warehouse/assemble/webservice/pom.xml | 2 +- warehouse/common/pom.xml | 2 +- warehouse/core/pom.xml | 2 +- warehouse/data-dictionary-core/pom.xml | 2 +- warehouse/edge-dictionary-core/pom.xml | 2 +- warehouse/edge-model-configuration-core/pom.xml | 2 +- warehouse/index-stats/pom.xml | 2 +- warehouse/ingest-configuration/pom.xml | 2 +- warehouse/ingest-core/pom.xml | 2 +- warehouse/ingest-csv/pom.xml | 2 +- warehouse/ingest-json/pom.xml | 2 +- warehouse/ingest-nyctlc/pom.xml | 2 +- warehouse/ingest-scripts/pom.xml | 2 +- warehouse/ingest-ssdeep/pom.xml | 2 +- warehouse/ingest-wikipedia/pom.xml | 2 +- warehouse/metrics-core/pom.xml | 2 +- warehouse/ops-tools/config-compare/pom.xml | 2 +- warehouse/ops-tools/index-validation/pom.xml | 2 +- warehouse/ops-tools/pom.xml | 2 +- warehouse/pom.xml | 2 +- warehouse/query-core/pom.xml | 2 +- warehouse/regression-testing/pom.xml | 2 +- warehouse/ssdeep-common/pom.xml | 2 +- web-services/accumulo/pom.xml | 2 +- web-services/atom/pom.xml | 2 +- web-services/cached-results/pom.xml | 2 +- web-services/client/pom.xml | 2 +- web-services/common-util/pom.xml | 2 +- web-services/common/pom.xml | 2 +- web-services/deploy/application/pom.xml | 2 +- web-services/deploy/configuration/pom.xml | 2 +- web-services/deploy/docs/pom.xml | 2 +- web-services/deploy/pom.xml | 2 +- web-services/deploy/spring-framework-integration/pom.xml | 2 +- web-services/dictionary/pom.xml | 2 +- web-services/examples/client-login/pom.xml | 2 +- web-services/examples/http-client/pom.xml | 2 +- web-services/examples/jms-client/pom.xml | 2 +- web-services/examples/pom.xml | 2 +- web-services/examples/query-war/pom.xml | 2 +- web-services/map-reduce-embedded/pom.xml | 2 +- web-services/map-reduce-status/pom.xml | 2 +- web-services/map-reduce/pom.xml | 2 +- web-services/metrics/pom.xml | 2 +- web-services/model/pom.xml | 2 +- web-services/modification/pom.xml | 2 +- web-services/pom.xml | 2 +- web-services/query-websocket/pom.xml | 2 +- web-services/query/pom.xml | 2 +- web-services/rest-api/pom.xml | 2 +- web-services/security/pom.xml | 2 +- web-services/web-root/pom.xml | 2 +- 73 files changed, 73 insertions(+), 73 deletions(-) diff --git a/common-test/pom.xml b/common-test/pom.xml index aba3e9f024b..278e499fc02 100644 --- a/common-test/pom.xml +++ b/common-test/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-common-test ${project.artifactId} diff --git a/contrib/datawave-quickstart/docker/pom.xml b/contrib/datawave-quickstart/docker/pom.xml index 007aaebc197..4461d47b1ae 100644 --- a/contrib/datawave-quickstart/docker/pom.xml +++ b/contrib/datawave-quickstart/docker/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT ../../../pom.xml quickstart diff --git a/core/cached-results/pom.xml b/core/cached-results/pom.xml index 55be5a7838b..8a0dad2d2cc 100644 --- a/core/cached-results/pom.xml +++ b/core/cached-results/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-cached-results ${project.artifactId} diff --git a/core/common-util/pom.xml b/core/common-util/pom.xml index 6875f21364b..565bbfc511f 100644 --- a/core/common-util/pom.xml +++ b/core/common-util/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-common-util ${project.artifactId} diff --git a/core/common/pom.xml b/core/common/pom.xml index ea16dc9a11b..c03e68a10ac 100644 --- a/core/common/pom.xml +++ b/core/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-common ${project.artifactId} diff --git a/core/connection-pool/pom.xml b/core/connection-pool/pom.xml index 7362abb1741..ca4a2774596 100644 --- a/core/connection-pool/pom.xml +++ b/core/connection-pool/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-connection-pool ${project.artifactId} diff --git a/core/map-reduce/pom.xml b/core/map-reduce/pom.xml index 273a6022c12..f45e82cf645 100644 --- a/core/map-reduce/pom.xml +++ b/core/map-reduce/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-map-reduce ${project.artifactId} diff --git a/core/modification/pom.xml b/core/modification/pom.xml index a09c7598715..ff7aede27d5 100644 --- a/core/modification/pom.xml +++ b/core/modification/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-modification ${project.artifactId} diff --git a/core/pom.xml b/core/pom.xml index e2eb690f216..494521de3fb 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT gov.nsa.datawave.core datawave-core-parent diff --git a/core/query/pom.xml b/core/query/pom.xml index 1019818ea56..fe6b6c63a24 100644 --- a/core/query/pom.xml +++ b/core/query/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core-query ${project.artifactId} diff --git a/core/utils/pom.xml b/core/utils/pom.xml index c139b61fc72..a7fff633c20 100644 --- a/core/utils/pom.xml +++ b/core/utils/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT gov.nsa.datawave.core datawave-utils-parent diff --git a/docs/pom.xml b/docs/pom.xml index f3a2a0e0403..5c4b5383253 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-docs diff --git a/microservices/pom.xml b/microservices/pom.xml index 40214ebec9b..fea22c2b055 100644 --- a/microservices/pom.xml +++ b/microservices/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT gov.nsa.datawave.microservice datawave-microservice-build-parent diff --git a/microservices/services/pom.xml b/microservices/services/pom.xml index d0fa560dc2d..952e7c8c349 100644 --- a/microservices/services/pom.xml +++ b/microservices/services/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.microservice datawave-microservice-build-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-microservice-service-build-parent pom diff --git a/microservices/starters/pom.xml b/microservices/starters/pom.xml index fc1c44da46d..5f154fdcf89 100644 --- a/microservices/starters/pom.xml +++ b/microservices/starters/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.microservice datawave-microservice-build-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-microservice-starter-build-parent pom diff --git a/pom.xml b/pom.xml index 5b3ee5a2ce3..a7206d867aa 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT pom DataWave DataWave is a Java-based ingest and query framework that leverages Apache Accumulo to provide fast, secure access to your data. diff --git a/warehouse/accumulo-extensions/pom.xml b/warehouse/accumulo-extensions/pom.xml index 7a49adbc994..4cd8130d580 100644 --- a/warehouse/accumulo-extensions/pom.xml +++ b/warehouse/accumulo-extensions/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-accumulo-extensions ${project.artifactId} diff --git a/warehouse/age-off-utils/pom.xml b/warehouse/age-off-utils/pom.xml index 5906583b761..7ebece14924 100644 --- a/warehouse/age-off-utils/pom.xml +++ b/warehouse/age-off-utils/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-age-off-utils ${project.artifactId} diff --git a/warehouse/age-off/pom.xml b/warehouse/age-off/pom.xml index c159e9b1322..ae242a54dda 100644 --- a/warehouse/age-off/pom.xml +++ b/warehouse/age-off/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-age-off ${project.artifactId} diff --git a/warehouse/assemble/datawave/pom.xml b/warehouse/assemble/datawave/pom.xml index 782375eea2f..991f4425983 100644 --- a/warehouse/assemble/datawave/pom.xml +++ b/warehouse/assemble/datawave/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave assemble-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT assemble-datawave jar diff --git a/warehouse/assemble/pom.xml b/warehouse/assemble/pom.xml index d9b582544b2..2df58851b07 100644 --- a/warehouse/assemble/pom.xml +++ b/warehouse/assemble/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT assemble-parent pom diff --git a/warehouse/assemble/webservice/pom.xml b/warehouse/assemble/webservice/pom.xml index 231e1a94c42..8e448027e63 100644 --- a/warehouse/assemble/webservice/pom.xml +++ b/warehouse/assemble/webservice/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave assemble-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT assemble-webservice ${project.artifactId} diff --git a/warehouse/common/pom.xml b/warehouse/common/pom.xml index 28fdaa85126..cb972326943 100644 --- a/warehouse/common/pom.xml +++ b/warehouse/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-common ${project.artifactId} diff --git a/warehouse/core/pom.xml b/warehouse/core/pom.xml index c2d0b18679c..4c31d4d0469 100644 --- a/warehouse/core/pom.xml +++ b/warehouse/core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-core jar diff --git a/warehouse/data-dictionary-core/pom.xml b/warehouse/data-dictionary-core/pom.xml index 6f5c1ad37e5..3748cbb7703 100644 --- a/warehouse/data-dictionary-core/pom.xml +++ b/warehouse/data-dictionary-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-data-dictionary-core jar diff --git a/warehouse/edge-dictionary-core/pom.xml b/warehouse/edge-dictionary-core/pom.xml index d59c7164975..d57340a4a85 100644 --- a/warehouse/edge-dictionary-core/pom.xml +++ b/warehouse/edge-dictionary-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-edge-dictionary-core jar diff --git a/warehouse/edge-model-configuration-core/pom.xml b/warehouse/edge-model-configuration-core/pom.xml index 19da9daa523..de9395a8736 100644 --- a/warehouse/edge-model-configuration-core/pom.xml +++ b/warehouse/edge-model-configuration-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-edge-model-configuration-core jar diff --git a/warehouse/index-stats/pom.xml b/warehouse/index-stats/pom.xml index 0d5cd3b4f52..b68799623d9 100644 --- a/warehouse/index-stats/pom.xml +++ b/warehouse/index-stats/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-index-stats jar diff --git a/warehouse/ingest-configuration/pom.xml b/warehouse/ingest-configuration/pom.xml index e7d2850a20f..77f314307a9 100644 --- a/warehouse/ingest-configuration/pom.xml +++ b/warehouse/ingest-configuration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-configuration diff --git a/warehouse/ingest-core/pom.xml b/warehouse/ingest-core/pom.xml index 1b30d8f7e45..72132990f95 100644 --- a/warehouse/ingest-core/pom.xml +++ b/warehouse/ingest-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-core jar diff --git a/warehouse/ingest-csv/pom.xml b/warehouse/ingest-csv/pom.xml index ceb4077f706..8d0a1de59b2 100644 --- a/warehouse/ingest-csv/pom.xml +++ b/warehouse/ingest-csv/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-csv jar diff --git a/warehouse/ingest-json/pom.xml b/warehouse/ingest-json/pom.xml index 822fb927446..5d22335240e 100644 --- a/warehouse/ingest-json/pom.xml +++ b/warehouse/ingest-json/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-json jar diff --git a/warehouse/ingest-nyctlc/pom.xml b/warehouse/ingest-nyctlc/pom.xml index 669440473ee..a5a1923b087 100644 --- a/warehouse/ingest-nyctlc/pom.xml +++ b/warehouse/ingest-nyctlc/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-nyctlc jar diff --git a/warehouse/ingest-scripts/pom.xml b/warehouse/ingest-scripts/pom.xml index b5f380e8834..c0ca0baa628 100644 --- a/warehouse/ingest-scripts/pom.xml +++ b/warehouse/ingest-scripts/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-scripts ${project.artifactId} diff --git a/warehouse/ingest-ssdeep/pom.xml b/warehouse/ingest-ssdeep/pom.xml index 192534bc710..046ad56a1d1 100644 --- a/warehouse/ingest-ssdeep/pom.xml +++ b/warehouse/ingest-ssdeep/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-ssdeep diff --git a/warehouse/ingest-wikipedia/pom.xml b/warehouse/ingest-wikipedia/pom.xml index 71ce93d75cc..60b953c450f 100644 --- a/warehouse/ingest-wikipedia/pom.xml +++ b/warehouse/ingest-wikipedia/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ingest-wikipedia jar diff --git a/warehouse/metrics-core/pom.xml b/warehouse/metrics-core/pom.xml index f3fd1ca87c5..2265b40e54b 100644 --- a/warehouse/metrics-core/pom.xml +++ b/warehouse/metrics-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-metrics-core jar diff --git a/warehouse/ops-tools/config-compare/pom.xml b/warehouse/ops-tools/config-compare/pom.xml index c8bb8a5ef8e..89e79e52f01 100644 --- a/warehouse/ops-tools/config-compare/pom.xml +++ b/warehouse/ops-tools/config-compare/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-ops-tools-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ops-tools-config-compare diff --git a/warehouse/ops-tools/index-validation/pom.xml b/warehouse/ops-tools/index-validation/pom.xml index 2302db58a32..5e7af65814f 100644 --- a/warehouse/ops-tools/index-validation/pom.xml +++ b/warehouse/ops-tools/index-validation/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-ops-tools-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ops-tools-index-validation jar diff --git a/warehouse/ops-tools/pom.xml b/warehouse/ops-tools/pom.xml index b3ca975ae11..ec26094136d 100644 --- a/warehouse/ops-tools/pom.xml +++ b/warehouse/ops-tools/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ops-tools-parent pom diff --git a/warehouse/pom.xml b/warehouse/pom.xml index 06b6f2ba1e7..6ce98a5300b 100644 --- a/warehouse/pom.xml +++ b/warehouse/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-warehouse-parent pom diff --git a/warehouse/query-core/pom.xml b/warehouse/query-core/pom.xml index 81a2fa44f77..effc09e5631 100644 --- a/warehouse/query-core/pom.xml +++ b/warehouse/query-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-query-core jar diff --git a/warehouse/regression-testing/pom.xml b/warehouse/regression-testing/pom.xml index a726ba2ac65..f1c8d44f414 100644 --- a/warehouse/regression-testing/pom.xml +++ b/warehouse/regression-testing/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-regression-testing ${project.artifactId} diff --git a/warehouse/ssdeep-common/pom.xml b/warehouse/ssdeep-common/pom.xml index b86feecc6c8..adfb00bf163 100644 --- a/warehouse/ssdeep-common/pom.xml +++ b/warehouse/ssdeep-common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ssdeep-common diff --git a/web-services/accumulo/pom.xml b/web-services/accumulo/pom.xml index a42adeccdd1..f0be5a71a19 100644 --- a/web-services/accumulo/pom.xml +++ b/web-services/accumulo/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-accumulo ejb diff --git a/web-services/atom/pom.xml b/web-services/atom/pom.xml index 9cdd9582e31..44b669cee48 100644 --- a/web-services/atom/pom.xml +++ b/web-services/atom/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-atom ejb diff --git a/web-services/cached-results/pom.xml b/web-services/cached-results/pom.xml index a2b25c2990e..8b9cd4ff3f6 100644 --- a/web-services/cached-results/pom.xml +++ b/web-services/cached-results/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-cached-results ejb diff --git a/web-services/client/pom.xml b/web-services/client/pom.xml index 8ceecdabafb..b2e0eb75b06 100644 --- a/web-services/client/pom.xml +++ b/web-services/client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-client jar diff --git a/web-services/common-util/pom.xml b/web-services/common-util/pom.xml index 6216c7a134b..2d730ff0d88 100644 --- a/web-services/common-util/pom.xml +++ b/web-services/common-util/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-common-util jar diff --git a/web-services/common/pom.xml b/web-services/common/pom.xml index 5643b879a13..17f57143e46 100644 --- a/web-services/common/pom.xml +++ b/web-services/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-common ejb diff --git a/web-services/deploy/application/pom.xml b/web-services/deploy/application/pom.xml index 5cfe516a66c..31e66b2878c 100644 --- a/web-services/deploy/application/pom.xml +++ b/web-services/deploy/application/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-deploy-application ear diff --git a/web-services/deploy/configuration/pom.xml b/web-services/deploy/configuration/pom.xml index eb44600b34a..31e380efa57 100644 --- a/web-services/deploy/configuration/pom.xml +++ b/web-services/deploy/configuration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-deploy-configuration jar diff --git a/web-services/deploy/docs/pom.xml b/web-services/deploy/docs/pom.xml index 4e99426e2a1..4ff040b48fa 100644 --- a/web-services/deploy/docs/pom.xml +++ b/web-services/deploy/docs/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-deploy-docs war diff --git a/web-services/deploy/pom.xml b/web-services/deploy/pom.xml index 2dc52b67ba0..c351ee113da 100644 --- a/web-services/deploy/pom.xml +++ b/web-services/deploy/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT gov.nsa.datawave.webservices datawave-ws-deploy-parent diff --git a/web-services/deploy/spring-framework-integration/pom.xml b/web-services/deploy/spring-framework-integration/pom.xml index bcf07fa2317..6441b69b95b 100644 --- a/web-services/deploy/spring-framework-integration/pom.xml +++ b/web-services/deploy/spring-framework-integration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT spring-framework-integration ${project.artifactId} diff --git a/web-services/dictionary/pom.xml b/web-services/dictionary/pom.xml index 5a72d7be850..961ba500159 100644 --- a/web-services/dictionary/pom.xml +++ b/web-services/dictionary/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-dictionary ejb diff --git a/web-services/examples/client-login/pom.xml b/web-services/examples/client-login/pom.xml index cd95fe8273b..cd001682c9b 100644 --- a/web-services/examples/client-login/pom.xml +++ b/web-services/examples/client-login/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-examples-client-login ejb diff --git a/web-services/examples/http-client/pom.xml b/web-services/examples/http-client/pom.xml index a2ab7cf4aa9..d181208b57f 100644 --- a/web-services/examples/http-client/pom.xml +++ b/web-services/examples/http-client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-examples-http-client jar diff --git a/web-services/examples/jms-client/pom.xml b/web-services/examples/jms-client/pom.xml index 31487683553..edfe57bcdbb 100644 --- a/web-services/examples/jms-client/pom.xml +++ b/web-services/examples/jms-client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-examples-jms-client jar diff --git a/web-services/examples/pom.xml b/web-services/examples/pom.xml index c7d41051604..68540f25cfc 100644 --- a/web-services/examples/pom.xml +++ b/web-services/examples/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-examples-parent pom diff --git a/web-services/examples/query-war/pom.xml b/web-services/examples/query-war/pom.xml index d1af8ebfbe8..6862394d307 100644 --- a/web-services/examples/query-war/pom.xml +++ b/web-services/examples/query-war/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-examples-query-war war diff --git a/web-services/map-reduce-embedded/pom.xml b/web-services/map-reduce-embedded/pom.xml index 457f2e88d52..4cf2ecaf0d6 100644 --- a/web-services/map-reduce-embedded/pom.xml +++ b/web-services/map-reduce-embedded/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-map-reduce-embedded jar diff --git a/web-services/map-reduce-status/pom.xml b/web-services/map-reduce-status/pom.xml index 2a9693b585d..972c4742306 100644 --- a/web-services/map-reduce-status/pom.xml +++ b/web-services/map-reduce-status/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-map-reduce-status ejb diff --git a/web-services/map-reduce/pom.xml b/web-services/map-reduce/pom.xml index 12c9b93f54a..ac168b3556c 100644 --- a/web-services/map-reduce/pom.xml +++ b/web-services/map-reduce/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-map-reduce ejb diff --git a/web-services/metrics/pom.xml b/web-services/metrics/pom.xml index 5025b7e3a60..1952dbc9ca4 100644 --- a/web-services/metrics/pom.xml +++ b/web-services/metrics/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-metrics ejb diff --git a/web-services/model/pom.xml b/web-services/model/pom.xml index c538f512e12..7eb7be418d9 100644 --- a/web-services/model/pom.xml +++ b/web-services/model/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-model ejb diff --git a/web-services/modification/pom.xml b/web-services/modification/pom.xml index 4dad69af36d..ed4da155b1f 100644 --- a/web-services/modification/pom.xml +++ b/web-services/modification/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-modification ejb diff --git a/web-services/pom.xml b/web-services/pom.xml index 7501ac0f849..d2ae1bc0b23 100644 --- a/web-services/pom.xml +++ b/web-services/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT gov.nsa.datawave.webservices datawave-ws-parent diff --git a/web-services/query-websocket/pom.xml b/web-services/query-websocket/pom.xml index c6e1943bf1b..61a5e8e3da4 100644 --- a/web-services/query-websocket/pom.xml +++ b/web-services/query-websocket/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-query-websocket war diff --git a/web-services/query/pom.xml b/web-services/query/pom.xml index 4e610cbaccc..639babeb5ce 100644 --- a/web-services/query/pom.xml +++ b/web-services/query/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-query ejb diff --git a/web-services/rest-api/pom.xml b/web-services/rest-api/pom.xml index 8fd37657ae6..5a10e208082 100644 --- a/web-services/rest-api/pom.xml +++ b/web-services/rest-api/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-rest-api war diff --git a/web-services/security/pom.xml b/web-services/security/pom.xml index 469e2173b32..a45ff409950 100644 --- a/web-services/security/pom.xml +++ b/web-services/security/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-security ejb diff --git a/web-services/web-root/pom.xml b/web-services/web-root/pom.xml index 79ace8f97b4..539774bdb04 100644 --- a/web-services/web-root/pom.xml +++ b/web-services/web-root/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.1.0-SNAPSHOT datawave-ws-web-root war From de8a6b6bcb908d866d8177815ed5e5a066ba395b Mon Sep 17 00:00:00 2001 From: hgklohr Date: Mon, 3 Jun 2024 20:47:33 +0000 Subject: [PATCH 2/8] 7.0.1 --- common-test/pom.xml | 2 +- contrib/datawave-quickstart/docker/pom.xml | 2 +- core/cached-results/pom.xml | 2 +- core/common-util/pom.xml | 2 +- core/common/pom.xml | 2 +- core/connection-pool/pom.xml | 2 +- core/map-reduce/pom.xml | 2 +- core/modification/pom.xml | 2 +- core/pom.xml | 2 +- core/query/pom.xml | 2 +- core/utils/pom.xml | 2 +- docs/pom.xml | 2 +- microservices/pom.xml | 2 +- microservices/services/pom.xml | 2 +- microservices/starters/pom.xml | 2 +- pom.xml | 2 +- warehouse/accumulo-extensions/pom.xml | 2 +- warehouse/age-off-utils/pom.xml | 2 +- warehouse/age-off/pom.xml | 2 +- warehouse/assemble/datawave/pom.xml | 2 +- warehouse/assemble/pom.xml | 2 +- warehouse/assemble/webservice/pom.xml | 2 +- warehouse/common/pom.xml | 2 +- warehouse/core/pom.xml | 2 +- warehouse/data-dictionary-core/pom.xml | 2 +- warehouse/edge-dictionary-core/pom.xml | 2 +- warehouse/edge-model-configuration-core/pom.xml | 2 +- warehouse/index-stats/pom.xml | 2 +- warehouse/ingest-configuration/pom.xml | 2 +- warehouse/ingest-core/pom.xml | 2 +- warehouse/ingest-csv/pom.xml | 2 +- warehouse/ingest-json/pom.xml | 2 +- warehouse/ingest-nyctlc/pom.xml | 2 +- warehouse/ingest-scripts/pom.xml | 2 +- warehouse/ingest-ssdeep/pom.xml | 2 +- warehouse/ingest-wikipedia/pom.xml | 2 +- warehouse/metrics-core/pom.xml | 2 +- warehouse/ops-tools/config-compare/pom.xml | 2 +- warehouse/ops-tools/index-validation/pom.xml | 2 +- warehouse/ops-tools/pom.xml | 2 +- warehouse/pom.xml | 2 +- warehouse/query-core/pom.xml | 2 +- warehouse/regression-testing/pom.xml | 2 +- warehouse/ssdeep-common/pom.xml | 2 +- web-services/accumulo/pom.xml | 2 +- web-services/atom/pom.xml | 2 +- web-services/cached-results/pom.xml | 2 +- web-services/client/pom.xml | 2 +- web-services/common-util/pom.xml | 2 +- web-services/common/pom.xml | 2 +- web-services/deploy/application/pom.xml | 2 +- web-services/deploy/configuration/pom.xml | 2 +- web-services/deploy/docs/pom.xml | 2 +- web-services/deploy/pom.xml | 2 +- web-services/deploy/spring-framework-integration/pom.xml | 2 +- web-services/dictionary/pom.xml | 2 +- web-services/examples/client-login/pom.xml | 2 +- web-services/examples/http-client/pom.xml | 2 +- web-services/examples/jms-client/pom.xml | 2 +- web-services/examples/pom.xml | 2 +- web-services/examples/query-war/pom.xml | 2 +- web-services/map-reduce-embedded/pom.xml | 2 +- web-services/map-reduce-status/pom.xml | 2 +- web-services/map-reduce/pom.xml | 2 +- web-services/metrics/pom.xml | 2 +- web-services/model/pom.xml | 2 +- web-services/modification/pom.xml | 2 +- web-services/pom.xml | 2 +- web-services/query-websocket/pom.xml | 2 +- web-services/query/pom.xml | 2 +- web-services/rest-api/pom.xml | 2 +- web-services/security/pom.xml | 2 +- web-services/web-root/pom.xml | 2 +- 73 files changed, 73 insertions(+), 73 deletions(-) diff --git a/common-test/pom.xml b/common-test/pom.xml index aba3e9f024b..890792ffa11 100644 --- a/common-test/pom.xml +++ b/common-test/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-common-test ${project.artifactId} diff --git a/contrib/datawave-quickstart/docker/pom.xml b/contrib/datawave-quickstart/docker/pom.xml index 007aaebc197..00c7355bbf7 100644 --- a/contrib/datawave-quickstart/docker/pom.xml +++ b/contrib/datawave-quickstart/docker/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 ../../../pom.xml quickstart diff --git a/core/cached-results/pom.xml b/core/cached-results/pom.xml index 55be5a7838b..04923924277 100644 --- a/core/cached-results/pom.xml +++ b/core/cached-results/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-cached-results ${project.artifactId} diff --git a/core/common-util/pom.xml b/core/common-util/pom.xml index 6875f21364b..1ff132337e3 100644 --- a/core/common-util/pom.xml +++ b/core/common-util/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-common-util ${project.artifactId} diff --git a/core/common/pom.xml b/core/common/pom.xml index ea16dc9a11b..d1ae3bae334 100644 --- a/core/common/pom.xml +++ b/core/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-common ${project.artifactId} diff --git a/core/connection-pool/pom.xml b/core/connection-pool/pom.xml index 7362abb1741..40f1504f946 100644 --- a/core/connection-pool/pom.xml +++ b/core/connection-pool/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-connection-pool ${project.artifactId} diff --git a/core/map-reduce/pom.xml b/core/map-reduce/pom.xml index 273a6022c12..898384c3f53 100644 --- a/core/map-reduce/pom.xml +++ b/core/map-reduce/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-map-reduce ${project.artifactId} diff --git a/core/modification/pom.xml b/core/modification/pom.xml index a09c7598715..f949c5e0af1 100644 --- a/core/modification/pom.xml +++ b/core/modification/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-modification ${project.artifactId} diff --git a/core/pom.xml b/core/pom.xml index e2eb690f216..bd5cef8ff63 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 gov.nsa.datawave.core datawave-core-parent diff --git a/core/query/pom.xml b/core/query/pom.xml index 1019818ea56..8fda1a1fe6b 100644 --- a/core/query/pom.xml +++ b/core/query/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core-query ${project.artifactId} diff --git a/core/utils/pom.xml b/core/utils/pom.xml index c139b61fc72..8bef5e6e0e9 100644 --- a/core/utils/pom.xml +++ b/core/utils/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1-SNAPSHOT + 7.0.1 gov.nsa.datawave.core datawave-utils-parent diff --git a/docs/pom.xml b/docs/pom.xml index f3a2a0e0403..b511f55aa93 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-docs diff --git a/microservices/pom.xml b/microservices/pom.xml index 40214ebec9b..2eb0bacd2ed 100644 --- a/microservices/pom.xml +++ b/microservices/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 gov.nsa.datawave.microservice datawave-microservice-build-parent diff --git a/microservices/services/pom.xml b/microservices/services/pom.xml index d0fa560dc2d..745b9ab7fac 100644 --- a/microservices/services/pom.xml +++ b/microservices/services/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.microservice datawave-microservice-build-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-microservice-service-build-parent pom diff --git a/microservices/starters/pom.xml b/microservices/starters/pom.xml index fc1c44da46d..d5ca5d40838 100644 --- a/microservices/starters/pom.xml +++ b/microservices/starters/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.microservice datawave-microservice-build-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-microservice-starter-build-parent pom diff --git a/pom.xml b/pom.xml index 5b3ee5a2ce3..d5f30dcbc48 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 pom DataWave DataWave is a Java-based ingest and query framework that leverages Apache Accumulo to provide fast, secure access to your data. diff --git a/warehouse/accumulo-extensions/pom.xml b/warehouse/accumulo-extensions/pom.xml index 7a49adbc994..934b70b96f9 100644 --- a/warehouse/accumulo-extensions/pom.xml +++ b/warehouse/accumulo-extensions/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-accumulo-extensions ${project.artifactId} diff --git a/warehouse/age-off-utils/pom.xml b/warehouse/age-off-utils/pom.xml index 5906583b761..9e4e1977213 100644 --- a/warehouse/age-off-utils/pom.xml +++ b/warehouse/age-off-utils/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-age-off-utils ${project.artifactId} diff --git a/warehouse/age-off/pom.xml b/warehouse/age-off/pom.xml index c159e9b1322..a29fb318ddc 100644 --- a/warehouse/age-off/pom.xml +++ b/warehouse/age-off/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-age-off ${project.artifactId} diff --git a/warehouse/assemble/datawave/pom.xml b/warehouse/assemble/datawave/pom.xml index 782375eea2f..a3896071c47 100644 --- a/warehouse/assemble/datawave/pom.xml +++ b/warehouse/assemble/datawave/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave assemble-parent - 7.0.1-SNAPSHOT + 7.0.1 assemble-datawave jar diff --git a/warehouse/assemble/pom.xml b/warehouse/assemble/pom.xml index d9b582544b2..28d699f8f9a 100644 --- a/warehouse/assemble/pom.xml +++ b/warehouse/assemble/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 assemble-parent pom diff --git a/warehouse/assemble/webservice/pom.xml b/warehouse/assemble/webservice/pom.xml index 231e1a94c42..19c8ec3bef3 100644 --- a/warehouse/assemble/webservice/pom.xml +++ b/warehouse/assemble/webservice/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave assemble-parent - 7.0.1-SNAPSHOT + 7.0.1 assemble-webservice ${project.artifactId} diff --git a/warehouse/common/pom.xml b/warehouse/common/pom.xml index 28fdaa85126..24fd295f430 100644 --- a/warehouse/common/pom.xml +++ b/warehouse/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-common ${project.artifactId} diff --git a/warehouse/core/pom.xml b/warehouse/core/pom.xml index c2d0b18679c..13a0b789891 100644 --- a/warehouse/core/pom.xml +++ b/warehouse/core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-core jar diff --git a/warehouse/data-dictionary-core/pom.xml b/warehouse/data-dictionary-core/pom.xml index 6f5c1ad37e5..32a6894c4b4 100644 --- a/warehouse/data-dictionary-core/pom.xml +++ b/warehouse/data-dictionary-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-data-dictionary-core jar diff --git a/warehouse/edge-dictionary-core/pom.xml b/warehouse/edge-dictionary-core/pom.xml index d59c7164975..c8a256d680a 100644 --- a/warehouse/edge-dictionary-core/pom.xml +++ b/warehouse/edge-dictionary-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-edge-dictionary-core jar diff --git a/warehouse/edge-model-configuration-core/pom.xml b/warehouse/edge-model-configuration-core/pom.xml index 19da9daa523..0ceeadf5e2a 100644 --- a/warehouse/edge-model-configuration-core/pom.xml +++ b/warehouse/edge-model-configuration-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-edge-model-configuration-core jar diff --git a/warehouse/index-stats/pom.xml b/warehouse/index-stats/pom.xml index 0d5cd3b4f52..cabd697c88e 100644 --- a/warehouse/index-stats/pom.xml +++ b/warehouse/index-stats/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-index-stats jar diff --git a/warehouse/ingest-configuration/pom.xml b/warehouse/ingest-configuration/pom.xml index e7d2850a20f..c4fb1f8b6f7 100644 --- a/warehouse/ingest-configuration/pom.xml +++ b/warehouse/ingest-configuration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-configuration diff --git a/warehouse/ingest-core/pom.xml b/warehouse/ingest-core/pom.xml index 1b30d8f7e45..006a3e8087b 100644 --- a/warehouse/ingest-core/pom.xml +++ b/warehouse/ingest-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-core jar diff --git a/warehouse/ingest-csv/pom.xml b/warehouse/ingest-csv/pom.xml index ceb4077f706..fe7391c806a 100644 --- a/warehouse/ingest-csv/pom.xml +++ b/warehouse/ingest-csv/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-csv jar diff --git a/warehouse/ingest-json/pom.xml b/warehouse/ingest-json/pom.xml index 822fb927446..6ce6cd4d0dc 100644 --- a/warehouse/ingest-json/pom.xml +++ b/warehouse/ingest-json/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-json jar diff --git a/warehouse/ingest-nyctlc/pom.xml b/warehouse/ingest-nyctlc/pom.xml index 669440473ee..0cf88ba7118 100644 --- a/warehouse/ingest-nyctlc/pom.xml +++ b/warehouse/ingest-nyctlc/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-nyctlc jar diff --git a/warehouse/ingest-scripts/pom.xml b/warehouse/ingest-scripts/pom.xml index b5f380e8834..921cb00e378 100644 --- a/warehouse/ingest-scripts/pom.xml +++ b/warehouse/ingest-scripts/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-scripts ${project.artifactId} diff --git a/warehouse/ingest-ssdeep/pom.xml b/warehouse/ingest-ssdeep/pom.xml index 192534bc710..b0951e2579b 100644 --- a/warehouse/ingest-ssdeep/pom.xml +++ b/warehouse/ingest-ssdeep/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-ssdeep diff --git a/warehouse/ingest-wikipedia/pom.xml b/warehouse/ingest-wikipedia/pom.xml index 71ce93d75cc..2f7c95a3cdd 100644 --- a/warehouse/ingest-wikipedia/pom.xml +++ b/warehouse/ingest-wikipedia/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ingest-wikipedia jar diff --git a/warehouse/metrics-core/pom.xml b/warehouse/metrics-core/pom.xml index f3fd1ca87c5..460f124cb24 100644 --- a/warehouse/metrics-core/pom.xml +++ b/warehouse/metrics-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-metrics-core jar diff --git a/warehouse/ops-tools/config-compare/pom.xml b/warehouse/ops-tools/config-compare/pom.xml index c8bb8a5ef8e..2049a62fe94 100644 --- a/warehouse/ops-tools/config-compare/pom.xml +++ b/warehouse/ops-tools/config-compare/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-ops-tools-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ops-tools-config-compare diff --git a/warehouse/ops-tools/index-validation/pom.xml b/warehouse/ops-tools/index-validation/pom.xml index 2302db58a32..a498d7ba48d 100644 --- a/warehouse/ops-tools/index-validation/pom.xml +++ b/warehouse/ops-tools/index-validation/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-ops-tools-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ops-tools-index-validation jar diff --git a/warehouse/ops-tools/pom.xml b/warehouse/ops-tools/pom.xml index b3ca975ae11..dea60867198 100644 --- a/warehouse/ops-tools/pom.xml +++ b/warehouse/ops-tools/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ops-tools-parent pom diff --git a/warehouse/pom.xml b/warehouse/pom.xml index 06b6f2ba1e7..1a3a16de219 100644 --- a/warehouse/pom.xml +++ b/warehouse/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-warehouse-parent pom diff --git a/warehouse/query-core/pom.xml b/warehouse/query-core/pom.xml index 81a2fa44f77..7442f646dfa 100644 --- a/warehouse/query-core/pom.xml +++ b/warehouse/query-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-query-core jar diff --git a/warehouse/regression-testing/pom.xml b/warehouse/regression-testing/pom.xml index a726ba2ac65..e22ed70129c 100644 --- a/warehouse/regression-testing/pom.xml +++ b/warehouse/regression-testing/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-regression-testing ${project.artifactId} diff --git a/warehouse/ssdeep-common/pom.xml b/warehouse/ssdeep-common/pom.xml index b86feecc6c8..daa5a1d07b4 100644 --- a/warehouse/ssdeep-common/pom.xml +++ b/warehouse/ssdeep-common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ssdeep-common diff --git a/web-services/accumulo/pom.xml b/web-services/accumulo/pom.xml index a42adeccdd1..9477a157753 100644 --- a/web-services/accumulo/pom.xml +++ b/web-services/accumulo/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-accumulo ejb diff --git a/web-services/atom/pom.xml b/web-services/atom/pom.xml index 9cdd9582e31..77a92861689 100644 --- a/web-services/atom/pom.xml +++ b/web-services/atom/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-atom ejb diff --git a/web-services/cached-results/pom.xml b/web-services/cached-results/pom.xml index a2b25c2990e..6ed763aad93 100644 --- a/web-services/cached-results/pom.xml +++ b/web-services/cached-results/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-cached-results ejb diff --git a/web-services/client/pom.xml b/web-services/client/pom.xml index 8ceecdabafb..b45c79c7cf2 100644 --- a/web-services/client/pom.xml +++ b/web-services/client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-client jar diff --git a/web-services/common-util/pom.xml b/web-services/common-util/pom.xml index 6216c7a134b..09e46ddb1d4 100644 --- a/web-services/common-util/pom.xml +++ b/web-services/common-util/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-common-util jar diff --git a/web-services/common/pom.xml b/web-services/common/pom.xml index 5643b879a13..139994d3b90 100644 --- a/web-services/common/pom.xml +++ b/web-services/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-common ejb diff --git a/web-services/deploy/application/pom.xml b/web-services/deploy/application/pom.xml index 5cfe516a66c..3e488977ecf 100644 --- a/web-services/deploy/application/pom.xml +++ b/web-services/deploy/application/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-deploy-application ear diff --git a/web-services/deploy/configuration/pom.xml b/web-services/deploy/configuration/pom.xml index eb44600b34a..b52fac80240 100644 --- a/web-services/deploy/configuration/pom.xml +++ b/web-services/deploy/configuration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-deploy-configuration jar diff --git a/web-services/deploy/docs/pom.xml b/web-services/deploy/docs/pom.xml index 4e99426e2a1..efabddd5404 100644 --- a/web-services/deploy/docs/pom.xml +++ b/web-services/deploy/docs/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-deploy-docs war diff --git a/web-services/deploy/pom.xml b/web-services/deploy/pom.xml index 2dc52b67ba0..4e15bb09755 100644 --- a/web-services/deploy/pom.xml +++ b/web-services/deploy/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 gov.nsa.datawave.webservices datawave-ws-deploy-parent diff --git a/web-services/deploy/spring-framework-integration/pom.xml b/web-services/deploy/spring-framework-integration/pom.xml index bcf07fa2317..7649c3784c9 100644 --- a/web-services/deploy/spring-framework-integration/pom.xml +++ b/web-services/deploy/spring-framework-integration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1-SNAPSHOT + 7.0.1 spring-framework-integration ${project.artifactId} diff --git a/web-services/dictionary/pom.xml b/web-services/dictionary/pom.xml index 5a72d7be850..d3c137ddd0c 100644 --- a/web-services/dictionary/pom.xml +++ b/web-services/dictionary/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-dictionary ejb diff --git a/web-services/examples/client-login/pom.xml b/web-services/examples/client-login/pom.xml index cd95fe8273b..dad08c96914 100644 --- a/web-services/examples/client-login/pom.xml +++ b/web-services/examples/client-login/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-examples-client-login ejb diff --git a/web-services/examples/http-client/pom.xml b/web-services/examples/http-client/pom.xml index a2ab7cf4aa9..99e822050ef 100644 --- a/web-services/examples/http-client/pom.xml +++ b/web-services/examples/http-client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-examples-http-client jar diff --git a/web-services/examples/jms-client/pom.xml b/web-services/examples/jms-client/pom.xml index 31487683553..0fd7bb24016 100644 --- a/web-services/examples/jms-client/pom.xml +++ b/web-services/examples/jms-client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-examples-jms-client jar diff --git a/web-services/examples/pom.xml b/web-services/examples/pom.xml index c7d41051604..f9db089a1ef 100644 --- a/web-services/examples/pom.xml +++ b/web-services/examples/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-examples-parent pom diff --git a/web-services/examples/query-war/pom.xml b/web-services/examples/query-war/pom.xml index d1af8ebfbe8..da00cc7e548 100644 --- a/web-services/examples/query-war/pom.xml +++ b/web-services/examples/query-war/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-examples-query-war war diff --git a/web-services/map-reduce-embedded/pom.xml b/web-services/map-reduce-embedded/pom.xml index 457f2e88d52..4a183403abd 100644 --- a/web-services/map-reduce-embedded/pom.xml +++ b/web-services/map-reduce-embedded/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-map-reduce-embedded jar diff --git a/web-services/map-reduce-status/pom.xml b/web-services/map-reduce-status/pom.xml index 2a9693b585d..d1e9e70e92e 100644 --- a/web-services/map-reduce-status/pom.xml +++ b/web-services/map-reduce-status/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-map-reduce-status ejb diff --git a/web-services/map-reduce/pom.xml b/web-services/map-reduce/pom.xml index 12c9b93f54a..c68be9c6a83 100644 --- a/web-services/map-reduce/pom.xml +++ b/web-services/map-reduce/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-map-reduce ejb diff --git a/web-services/metrics/pom.xml b/web-services/metrics/pom.xml index 5025b7e3a60..fe00d21cc1e 100644 --- a/web-services/metrics/pom.xml +++ b/web-services/metrics/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-metrics ejb diff --git a/web-services/model/pom.xml b/web-services/model/pom.xml index c538f512e12..3004ceb3300 100644 --- a/web-services/model/pom.xml +++ b/web-services/model/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-model ejb diff --git a/web-services/modification/pom.xml b/web-services/modification/pom.xml index 4dad69af36d..d1c0361981b 100644 --- a/web-services/modification/pom.xml +++ b/web-services/modification/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-modification ejb diff --git a/web-services/pom.xml b/web-services/pom.xml index 7501ac0f849..e0ed5e30027 100644 --- a/web-services/pom.xml +++ b/web-services/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1-SNAPSHOT + 7.0.1 gov.nsa.datawave.webservices datawave-ws-parent diff --git a/web-services/query-websocket/pom.xml b/web-services/query-websocket/pom.xml index c6e1943bf1b..34aced56d1d 100644 --- a/web-services/query-websocket/pom.xml +++ b/web-services/query-websocket/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-query-websocket war diff --git a/web-services/query/pom.xml b/web-services/query/pom.xml index 4e610cbaccc..67558c50de9 100644 --- a/web-services/query/pom.xml +++ b/web-services/query/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-query ejb diff --git a/web-services/rest-api/pom.xml b/web-services/rest-api/pom.xml index 8fd37657ae6..d99dbdc71c4 100644 --- a/web-services/rest-api/pom.xml +++ b/web-services/rest-api/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-rest-api war diff --git a/web-services/security/pom.xml b/web-services/security/pom.xml index 469e2173b32..aed8984a543 100644 --- a/web-services/security/pom.xml +++ b/web-services/security/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-security ejb diff --git a/web-services/web-root/pom.xml b/web-services/web-root/pom.xml index 79ace8f97b4..d655854b662 100644 --- a/web-services/web-root/pom.xml +++ b/web-services/web-root/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1-SNAPSHOT + 7.0.1 datawave-ws-web-root war From a815c584e94fed4ab3e18e09211d1af0b8b5f1bd Mon Sep 17 00:00:00 2001 From: hgklohr Date: Mon, 3 Jun 2024 20:49:42 +0000 Subject: [PATCH 3/8] 7.0.2-SNAPSHOT --- common-test/pom.xml | 2 +- contrib/datawave-quickstart/docker/pom.xml | 2 +- core/cached-results/pom.xml | 2 +- core/common-util/pom.xml | 2 +- core/common/pom.xml | 2 +- core/connection-pool/pom.xml | 2 +- core/map-reduce/pom.xml | 2 +- core/modification/pom.xml | 2 +- core/pom.xml | 2 +- core/query/pom.xml | 2 +- core/utils/pom.xml | 2 +- docs/pom.xml | 2 +- microservices/pom.xml | 2 +- microservices/services/pom.xml | 2 +- microservices/starters/pom.xml | 2 +- pom.xml | 2 +- warehouse/accumulo-extensions/pom.xml | 2 +- warehouse/age-off-utils/pom.xml | 2 +- warehouse/age-off/pom.xml | 2 +- warehouse/assemble/datawave/pom.xml | 2 +- warehouse/assemble/pom.xml | 2 +- warehouse/assemble/webservice/pom.xml | 2 +- warehouse/common/pom.xml | 2 +- warehouse/core/pom.xml | 2 +- warehouse/data-dictionary-core/pom.xml | 2 +- warehouse/edge-dictionary-core/pom.xml | 2 +- warehouse/edge-model-configuration-core/pom.xml | 2 +- warehouse/index-stats/pom.xml | 2 +- warehouse/ingest-configuration/pom.xml | 2 +- warehouse/ingest-core/pom.xml | 2 +- warehouse/ingest-csv/pom.xml | 2 +- warehouse/ingest-json/pom.xml | 2 +- warehouse/ingest-nyctlc/pom.xml | 2 +- warehouse/ingest-scripts/pom.xml | 2 +- warehouse/ingest-ssdeep/pom.xml | 2 +- warehouse/ingest-wikipedia/pom.xml | 2 +- warehouse/metrics-core/pom.xml | 2 +- warehouse/ops-tools/config-compare/pom.xml | 2 +- warehouse/ops-tools/index-validation/pom.xml | 2 +- warehouse/ops-tools/pom.xml | 2 +- warehouse/pom.xml | 2 +- warehouse/query-core/pom.xml | 2 +- warehouse/regression-testing/pom.xml | 2 +- warehouse/ssdeep-common/pom.xml | 2 +- web-services/accumulo/pom.xml | 2 +- web-services/atom/pom.xml | 2 +- web-services/cached-results/pom.xml | 2 +- web-services/client/pom.xml | 2 +- web-services/common-util/pom.xml | 2 +- web-services/common/pom.xml | 2 +- web-services/deploy/application/pom.xml | 2 +- web-services/deploy/configuration/pom.xml | 2 +- web-services/deploy/docs/pom.xml | 2 +- web-services/deploy/pom.xml | 2 +- web-services/deploy/spring-framework-integration/pom.xml | 2 +- web-services/dictionary/pom.xml | 2 +- web-services/examples/client-login/pom.xml | 2 +- web-services/examples/http-client/pom.xml | 2 +- web-services/examples/jms-client/pom.xml | 2 +- web-services/examples/pom.xml | 2 +- web-services/examples/query-war/pom.xml | 2 +- web-services/map-reduce-embedded/pom.xml | 2 +- web-services/map-reduce-status/pom.xml | 2 +- web-services/map-reduce/pom.xml | 2 +- web-services/metrics/pom.xml | 2 +- web-services/model/pom.xml | 2 +- web-services/modification/pom.xml | 2 +- web-services/pom.xml | 2 +- web-services/query-websocket/pom.xml | 2 +- web-services/query/pom.xml | 2 +- web-services/rest-api/pom.xml | 2 +- web-services/security/pom.xml | 2 +- web-services/web-root/pom.xml | 2 +- 73 files changed, 73 insertions(+), 73 deletions(-) diff --git a/common-test/pom.xml b/common-test/pom.xml index 890792ffa11..6de12b37015 100644 --- a/common-test/pom.xml +++ b/common-test/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-common-test ${project.artifactId} diff --git a/contrib/datawave-quickstart/docker/pom.xml b/contrib/datawave-quickstart/docker/pom.xml index 00c7355bbf7..65cb868ea7e 100644 --- a/contrib/datawave-quickstart/docker/pom.xml +++ b/contrib/datawave-quickstart/docker/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT ../../../pom.xml quickstart diff --git a/core/cached-results/pom.xml b/core/cached-results/pom.xml index 04923924277..d10468fb5a4 100644 --- a/core/cached-results/pom.xml +++ b/core/cached-results/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-cached-results ${project.artifactId} diff --git a/core/common-util/pom.xml b/core/common-util/pom.xml index 1ff132337e3..08912bc05d6 100644 --- a/core/common-util/pom.xml +++ b/core/common-util/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-common-util ${project.artifactId} diff --git a/core/common/pom.xml b/core/common/pom.xml index d1ae3bae334..8037688b872 100644 --- a/core/common/pom.xml +++ b/core/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-common ${project.artifactId} diff --git a/core/connection-pool/pom.xml b/core/connection-pool/pom.xml index 40f1504f946..b2581fcabcc 100644 --- a/core/connection-pool/pom.xml +++ b/core/connection-pool/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-connection-pool ${project.artifactId} diff --git a/core/map-reduce/pom.xml b/core/map-reduce/pom.xml index 898384c3f53..0236eb80f1b 100644 --- a/core/map-reduce/pom.xml +++ b/core/map-reduce/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-map-reduce ${project.artifactId} diff --git a/core/modification/pom.xml b/core/modification/pom.xml index f949c5e0af1..83433b9b5c7 100644 --- a/core/modification/pom.xml +++ b/core/modification/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-modification ${project.artifactId} diff --git a/core/pom.xml b/core/pom.xml index bd5cef8ff63..004fdef5d65 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT gov.nsa.datawave.core datawave-core-parent diff --git a/core/query/pom.xml b/core/query/pom.xml index 8fda1a1fe6b..0e8ce34cf1d 100644 --- a/core/query/pom.xml +++ b/core/query/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core-query ${project.artifactId} diff --git a/core/utils/pom.xml b/core/utils/pom.xml index 8bef5e6e0e9..f25408ab7eb 100644 --- a/core/utils/pom.xml +++ b/core/utils/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.core datawave-core-parent - 7.0.1 + 7.0.2-SNAPSHOT gov.nsa.datawave.core datawave-utils-parent diff --git a/docs/pom.xml b/docs/pom.xml index b511f55aa93..27aeb4b96f2 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-docs diff --git a/microservices/pom.xml b/microservices/pom.xml index 2eb0bacd2ed..b0cad3a65fb 100644 --- a/microservices/pom.xml +++ b/microservices/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT gov.nsa.datawave.microservice datawave-microservice-build-parent diff --git a/microservices/services/pom.xml b/microservices/services/pom.xml index 745b9ab7fac..752e6270b57 100644 --- a/microservices/services/pom.xml +++ b/microservices/services/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.microservice datawave-microservice-build-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-microservice-service-build-parent pom diff --git a/microservices/starters/pom.xml b/microservices/starters/pom.xml index d5ca5d40838..1f51ffa89c4 100644 --- a/microservices/starters/pom.xml +++ b/microservices/starters/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.microservice datawave-microservice-build-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-microservice-starter-build-parent pom diff --git a/pom.xml b/pom.xml index d5f30dcbc48..bf12c4cfd40 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT pom DataWave DataWave is a Java-based ingest and query framework that leverages Apache Accumulo to provide fast, secure access to your data. diff --git a/warehouse/accumulo-extensions/pom.xml b/warehouse/accumulo-extensions/pom.xml index 934b70b96f9..eda2e50da4f 100644 --- a/warehouse/accumulo-extensions/pom.xml +++ b/warehouse/accumulo-extensions/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-accumulo-extensions ${project.artifactId} diff --git a/warehouse/age-off-utils/pom.xml b/warehouse/age-off-utils/pom.xml index 9e4e1977213..8292b1b852e 100644 --- a/warehouse/age-off-utils/pom.xml +++ b/warehouse/age-off-utils/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-age-off-utils ${project.artifactId} diff --git a/warehouse/age-off/pom.xml b/warehouse/age-off/pom.xml index a29fb318ddc..5ca505f7b51 100644 --- a/warehouse/age-off/pom.xml +++ b/warehouse/age-off/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-age-off ${project.artifactId} diff --git a/warehouse/assemble/datawave/pom.xml b/warehouse/assemble/datawave/pom.xml index a3896071c47..4e9b3f73dd9 100644 --- a/warehouse/assemble/datawave/pom.xml +++ b/warehouse/assemble/datawave/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave assemble-parent - 7.0.1 + 7.0.2-SNAPSHOT assemble-datawave jar diff --git a/warehouse/assemble/pom.xml b/warehouse/assemble/pom.xml index 28d699f8f9a..b10947a7f04 100644 --- a/warehouse/assemble/pom.xml +++ b/warehouse/assemble/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT assemble-parent pom diff --git a/warehouse/assemble/webservice/pom.xml b/warehouse/assemble/webservice/pom.xml index 19c8ec3bef3..460b5b35d57 100644 --- a/warehouse/assemble/webservice/pom.xml +++ b/warehouse/assemble/webservice/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave assemble-parent - 7.0.1 + 7.0.2-SNAPSHOT assemble-webservice ${project.artifactId} diff --git a/warehouse/common/pom.xml b/warehouse/common/pom.xml index 24fd295f430..4cab65622ab 100644 --- a/warehouse/common/pom.xml +++ b/warehouse/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-common ${project.artifactId} diff --git a/warehouse/core/pom.xml b/warehouse/core/pom.xml index 13a0b789891..02ee074db84 100644 --- a/warehouse/core/pom.xml +++ b/warehouse/core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-core jar diff --git a/warehouse/data-dictionary-core/pom.xml b/warehouse/data-dictionary-core/pom.xml index 32a6894c4b4..7012af532f2 100644 --- a/warehouse/data-dictionary-core/pom.xml +++ b/warehouse/data-dictionary-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-data-dictionary-core jar diff --git a/warehouse/edge-dictionary-core/pom.xml b/warehouse/edge-dictionary-core/pom.xml index c8a256d680a..fc72be20f88 100644 --- a/warehouse/edge-dictionary-core/pom.xml +++ b/warehouse/edge-dictionary-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-edge-dictionary-core jar diff --git a/warehouse/edge-model-configuration-core/pom.xml b/warehouse/edge-model-configuration-core/pom.xml index 0ceeadf5e2a..9c6cb683c76 100644 --- a/warehouse/edge-model-configuration-core/pom.xml +++ b/warehouse/edge-model-configuration-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-edge-model-configuration-core jar diff --git a/warehouse/index-stats/pom.xml b/warehouse/index-stats/pom.xml index cabd697c88e..92edc1d9ea6 100644 --- a/warehouse/index-stats/pom.xml +++ b/warehouse/index-stats/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-index-stats jar diff --git a/warehouse/ingest-configuration/pom.xml b/warehouse/ingest-configuration/pom.xml index c4fb1f8b6f7..cb82963eda2 100644 --- a/warehouse/ingest-configuration/pom.xml +++ b/warehouse/ingest-configuration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-configuration diff --git a/warehouse/ingest-core/pom.xml b/warehouse/ingest-core/pom.xml index 006a3e8087b..e5f490f5dc1 100644 --- a/warehouse/ingest-core/pom.xml +++ b/warehouse/ingest-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-core jar diff --git a/warehouse/ingest-csv/pom.xml b/warehouse/ingest-csv/pom.xml index fe7391c806a..537fcba77e4 100644 --- a/warehouse/ingest-csv/pom.xml +++ b/warehouse/ingest-csv/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-csv jar diff --git a/warehouse/ingest-json/pom.xml b/warehouse/ingest-json/pom.xml index 6ce6cd4d0dc..89956961467 100644 --- a/warehouse/ingest-json/pom.xml +++ b/warehouse/ingest-json/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-json jar diff --git a/warehouse/ingest-nyctlc/pom.xml b/warehouse/ingest-nyctlc/pom.xml index 0cf88ba7118..c2ef47e565f 100644 --- a/warehouse/ingest-nyctlc/pom.xml +++ b/warehouse/ingest-nyctlc/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-nyctlc jar diff --git a/warehouse/ingest-scripts/pom.xml b/warehouse/ingest-scripts/pom.xml index 921cb00e378..820bf82022b 100644 --- a/warehouse/ingest-scripts/pom.xml +++ b/warehouse/ingest-scripts/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-scripts ${project.artifactId} diff --git a/warehouse/ingest-ssdeep/pom.xml b/warehouse/ingest-ssdeep/pom.xml index b0951e2579b..fd1c78b96ff 100644 --- a/warehouse/ingest-ssdeep/pom.xml +++ b/warehouse/ingest-ssdeep/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-ssdeep diff --git a/warehouse/ingest-wikipedia/pom.xml b/warehouse/ingest-wikipedia/pom.xml index 2f7c95a3cdd..a57d98b5ee6 100644 --- a/warehouse/ingest-wikipedia/pom.xml +++ b/warehouse/ingest-wikipedia/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ingest-wikipedia jar diff --git a/warehouse/metrics-core/pom.xml b/warehouse/metrics-core/pom.xml index 460f124cb24..1c15d26ed94 100644 --- a/warehouse/metrics-core/pom.xml +++ b/warehouse/metrics-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-metrics-core jar diff --git a/warehouse/ops-tools/config-compare/pom.xml b/warehouse/ops-tools/config-compare/pom.xml index 2049a62fe94..0f506685616 100644 --- a/warehouse/ops-tools/config-compare/pom.xml +++ b/warehouse/ops-tools/config-compare/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-ops-tools-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ops-tools-config-compare diff --git a/warehouse/ops-tools/index-validation/pom.xml b/warehouse/ops-tools/index-validation/pom.xml index a498d7ba48d..9fc8cf7aa85 100644 --- a/warehouse/ops-tools/index-validation/pom.xml +++ b/warehouse/ops-tools/index-validation/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-ops-tools-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ops-tools-index-validation jar diff --git a/warehouse/ops-tools/pom.xml b/warehouse/ops-tools/pom.xml index dea60867198..f23dba39861 100644 --- a/warehouse/ops-tools/pom.xml +++ b/warehouse/ops-tools/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ops-tools-parent pom diff --git a/warehouse/pom.xml b/warehouse/pom.xml index 1a3a16de219..6dcf9e56556 100644 --- a/warehouse/pom.xml +++ b/warehouse/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-warehouse-parent pom diff --git a/warehouse/query-core/pom.xml b/warehouse/query-core/pom.xml index 7442f646dfa..138472df18b 100644 --- a/warehouse/query-core/pom.xml +++ b/warehouse/query-core/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-query-core jar diff --git a/warehouse/regression-testing/pom.xml b/warehouse/regression-testing/pom.xml index e22ed70129c..f6e93572cc5 100644 --- a/warehouse/regression-testing/pom.xml +++ b/warehouse/regression-testing/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-regression-testing ${project.artifactId} diff --git a/warehouse/ssdeep-common/pom.xml b/warehouse/ssdeep-common/pom.xml index daa5a1d07b4..cd75f266b60 100644 --- a/warehouse/ssdeep-common/pom.xml +++ b/warehouse/ssdeep-common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-warehouse-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ssdeep-common diff --git a/web-services/accumulo/pom.xml b/web-services/accumulo/pom.xml index 9477a157753..507e018cf6c 100644 --- a/web-services/accumulo/pom.xml +++ b/web-services/accumulo/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-accumulo ejb diff --git a/web-services/atom/pom.xml b/web-services/atom/pom.xml index 77a92861689..672f1ccf70c 100644 --- a/web-services/atom/pom.xml +++ b/web-services/atom/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-atom ejb diff --git a/web-services/cached-results/pom.xml b/web-services/cached-results/pom.xml index 6ed763aad93..3a80eba5755 100644 --- a/web-services/cached-results/pom.xml +++ b/web-services/cached-results/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-cached-results ejb diff --git a/web-services/client/pom.xml b/web-services/client/pom.xml index b45c79c7cf2..a4bc49f78ac 100644 --- a/web-services/client/pom.xml +++ b/web-services/client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-client jar diff --git a/web-services/common-util/pom.xml b/web-services/common-util/pom.xml index 09e46ddb1d4..2153e6fc26d 100644 --- a/web-services/common-util/pom.xml +++ b/web-services/common-util/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-common-util jar diff --git a/web-services/common/pom.xml b/web-services/common/pom.xml index 139994d3b90..b3dea0d47d4 100644 --- a/web-services/common/pom.xml +++ b/web-services/common/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-common ejb diff --git a/web-services/deploy/application/pom.xml b/web-services/deploy/application/pom.xml index 3e488977ecf..decc86caa27 100644 --- a/web-services/deploy/application/pom.xml +++ b/web-services/deploy/application/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-deploy-application ear diff --git a/web-services/deploy/configuration/pom.xml b/web-services/deploy/configuration/pom.xml index b52fac80240..c7f2bdc2521 100644 --- a/web-services/deploy/configuration/pom.xml +++ b/web-services/deploy/configuration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-deploy-configuration jar diff --git a/web-services/deploy/docs/pom.xml b/web-services/deploy/docs/pom.xml index efabddd5404..583e5fdbe77 100644 --- a/web-services/deploy/docs/pom.xml +++ b/web-services/deploy/docs/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-deploy-docs war diff --git a/web-services/deploy/pom.xml b/web-services/deploy/pom.xml index 4e15bb09755..3ba71ad7111 100644 --- a/web-services/deploy/pom.xml +++ b/web-services/deploy/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT gov.nsa.datawave.webservices datawave-ws-deploy-parent diff --git a/web-services/deploy/spring-framework-integration/pom.xml b/web-services/deploy/spring-framework-integration/pom.xml index 7649c3784c9..9d9bcb1aba9 100644 --- a/web-services/deploy/spring-framework-integration/pom.xml +++ b/web-services/deploy/spring-framework-integration/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-deploy-parent - 7.0.1 + 7.0.2-SNAPSHOT spring-framework-integration ${project.artifactId} diff --git a/web-services/dictionary/pom.xml b/web-services/dictionary/pom.xml index d3c137ddd0c..2c8ba5851dc 100644 --- a/web-services/dictionary/pom.xml +++ b/web-services/dictionary/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-dictionary ejb diff --git a/web-services/examples/client-login/pom.xml b/web-services/examples/client-login/pom.xml index dad08c96914..c925ae28781 100644 --- a/web-services/examples/client-login/pom.xml +++ b/web-services/examples/client-login/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-examples-client-login ejb diff --git a/web-services/examples/http-client/pom.xml b/web-services/examples/http-client/pom.xml index 99e822050ef..4e7e39eb7ba 100644 --- a/web-services/examples/http-client/pom.xml +++ b/web-services/examples/http-client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-examples-http-client jar diff --git a/web-services/examples/jms-client/pom.xml b/web-services/examples/jms-client/pom.xml index 0fd7bb24016..e4d73398546 100644 --- a/web-services/examples/jms-client/pom.xml +++ b/web-services/examples/jms-client/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-examples-jms-client jar diff --git a/web-services/examples/pom.xml b/web-services/examples/pom.xml index f9db089a1ef..51dba553e65 100644 --- a/web-services/examples/pom.xml +++ b/web-services/examples/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-examples-parent pom diff --git a/web-services/examples/query-war/pom.xml b/web-services/examples/query-war/pom.xml index da00cc7e548..0202c329daf 100644 --- a/web-services/examples/query-war/pom.xml +++ b/web-services/examples/query-war/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-examples-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-examples-query-war war diff --git a/web-services/map-reduce-embedded/pom.xml b/web-services/map-reduce-embedded/pom.xml index 4a183403abd..09588b3f7c7 100644 --- a/web-services/map-reduce-embedded/pom.xml +++ b/web-services/map-reduce-embedded/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-map-reduce-embedded jar diff --git a/web-services/map-reduce-status/pom.xml b/web-services/map-reduce-status/pom.xml index d1e9e70e92e..1705445a1b2 100644 --- a/web-services/map-reduce-status/pom.xml +++ b/web-services/map-reduce-status/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-map-reduce-status ejb diff --git a/web-services/map-reduce/pom.xml b/web-services/map-reduce/pom.xml index c68be9c6a83..5dde9be002a 100644 --- a/web-services/map-reduce/pom.xml +++ b/web-services/map-reduce/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-map-reduce ejb diff --git a/web-services/metrics/pom.xml b/web-services/metrics/pom.xml index fe00d21cc1e..d81f71b28c4 100644 --- a/web-services/metrics/pom.xml +++ b/web-services/metrics/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-metrics ejb diff --git a/web-services/model/pom.xml b/web-services/model/pom.xml index 3004ceb3300..5049d670ac9 100644 --- a/web-services/model/pom.xml +++ b/web-services/model/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-model ejb diff --git a/web-services/modification/pom.xml b/web-services/modification/pom.xml index d1c0361981b..da7f66b5460 100644 --- a/web-services/modification/pom.xml +++ b/web-services/modification/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-modification ejb diff --git a/web-services/pom.xml b/web-services/pom.xml index e0ed5e30027..9164fdaa7a0 100644 --- a/web-services/pom.xml +++ b/web-services/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave datawave-parent - 7.0.1 + 7.0.2-SNAPSHOT gov.nsa.datawave.webservices datawave-ws-parent diff --git a/web-services/query-websocket/pom.xml b/web-services/query-websocket/pom.xml index 34aced56d1d..aac1cf613f3 100644 --- a/web-services/query-websocket/pom.xml +++ b/web-services/query-websocket/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-query-websocket war diff --git a/web-services/query/pom.xml b/web-services/query/pom.xml index 67558c50de9..436c47b97b6 100644 --- a/web-services/query/pom.xml +++ b/web-services/query/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-query ejb diff --git a/web-services/rest-api/pom.xml b/web-services/rest-api/pom.xml index d99dbdc71c4..02a111d9e03 100644 --- a/web-services/rest-api/pom.xml +++ b/web-services/rest-api/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-rest-api war diff --git a/web-services/security/pom.xml b/web-services/security/pom.xml index aed8984a543..5a9c7c99021 100644 --- a/web-services/security/pom.xml +++ b/web-services/security/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-security ejb diff --git a/web-services/web-root/pom.xml b/web-services/web-root/pom.xml index d655854b662..23d60d88147 100644 --- a/web-services/web-root/pom.xml +++ b/web-services/web-root/pom.xml @@ -4,7 +4,7 @@ gov.nsa.datawave.webservices datawave-ws-parent - 7.0.1 + 7.0.2-SNAPSHOT datawave-ws-web-root war From 8e9e1064e58df3a3a2c72e96557e54db440f9f51 Mon Sep 17 00:00:00 2001 From: "P.A" Date: Tue, 4 Jun 2024 14:20:58 -0400 Subject: [PATCH 4/8] Removing dupes from ingest counters (#2355) Co-authored-by: pcagbu --- .../src/main/java/datawave/ingest/mapreduce/job/IngestJob.java | 1 - 1 file changed, 1 deletion(-) diff --git a/warehouse/ingest-core/src/main/java/datawave/ingest/mapreduce/job/IngestJob.java b/warehouse/ingest-core/src/main/java/datawave/ingest/mapreduce/job/IngestJob.java index 84a55099243..86e12627ed1 100644 --- a/warehouse/ingest-core/src/main/java/datawave/ingest/mapreduce/job/IngestJob.java +++ b/warehouse/ingest-core/src/main/java/datawave/ingest/mapreduce/job/IngestJob.java @@ -425,7 +425,6 @@ public int run(String[] args) throws Exception { // output the counters to the log Counters counters = job.getCounters(); - log.info(counters); try (JobClient jobClient = new JobClient((org.apache.hadoop.mapred.JobConf) job.getConfiguration())) { RunningJob runningJob = jobClient.getJob(new org.apache.hadoop.mapred.JobID(jobID.getJtIdentifier(), jobID.getId())); From c5a0f3a8721a2ab140c871455b96389466e146db Mon Sep 17 00:00:00 2001 From: Bill Oley Date: Wed, 5 Jun 2024 12:58:32 -0400 Subject: [PATCH 5/8] =?UTF-8?q?DATAWAVE-1666:=20Use=20query-metric-api=204?= =?UTF-8?q?.0.1,=20use=20QueryGeometryResponse=20=E2=80=A6=20(#2402)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * DATAWAVE-1666: Use QueryGeometryResponse from query-metric-api, use redirect for remote query metric GET calls * Code formatting fixes --- .../core/query/map/QueryGeometryHandler.java | 2 +- .../jexl/visitors/GeoFeatureVisitor.java | 2 +- .../jexl/visitors/GeoFeatureVisitorTest.java | 2 +- .../webservice/query/map/QueryGeometry.java | 69 ---------- .../query/map/QueryGeometryResponse.java | 114 ---------------- .../remote/RemoteQueryMetricService.java | 16 +-- .../common/json/DefaultMapperDecorator.java | 4 +- .../query/map/SimpleQueryGeometryHandler.java | 9 +- .../metrics/ShardTableQueryMetricHandler.java | 5 +- .../map/SimpleQueryGeometryHandlerTest.java | 4 +- .../webservice/query/hud/HudBean.java | 59 ++++---- .../query/metric/QueryMetricsBean.java | 129 ++++++++++++------ 12 files changed, 143 insertions(+), 272 deletions(-) delete mode 100644 web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometry.java delete mode 100644 web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometryResponse.java diff --git a/core/query/src/main/java/datawave/core/query/map/QueryGeometryHandler.java b/core/query/src/main/java/datawave/core/query/map/QueryGeometryHandler.java index 9044224ced1..d01179b429f 100644 --- a/core/query/src/main/java/datawave/core/query/map/QueryGeometryHandler.java +++ b/core/query/src/main/java/datawave/core/query/map/QueryGeometryHandler.java @@ -3,7 +3,7 @@ import java.util.List; import datawave.microservice.querymetric.BaseQueryMetric; -import datawave.webservice.query.map.QueryGeometryResponse; +import datawave.microservice.querymetric.QueryGeometryResponse; public interface QueryGeometryHandler { diff --git a/warehouse/query-core/src/main/java/datawave/query/jexl/visitors/GeoFeatureVisitor.java b/warehouse/query-core/src/main/java/datawave/query/jexl/visitors/GeoFeatureVisitor.java index d0d2beba8b2..24dbeee73f3 100644 --- a/warehouse/query-core/src/main/java/datawave/query/jexl/visitors/GeoFeatureVisitor.java +++ b/warehouse/query-core/src/main/java/datawave/query/jexl/visitors/GeoFeatureVisitor.java @@ -12,11 +12,11 @@ import org.locationtech.jts.io.WKTReader; import datawave.core.common.logging.ThreadConfigurableLogger; +import datawave.microservice.querymetric.QueryGeometry; import datawave.query.jexl.functions.GeoFunctionsDescriptor; import datawave.query.jexl.functions.GeoWaveFunctionsDescriptor; import datawave.query.jexl.functions.JexlFunctionArgumentDescriptorFactory; import datawave.query.jexl.functions.arguments.JexlArgumentDescriptor; -import datawave.webservice.query.map.QueryGeometry; /** * This visitor will traverse the query tree, and extract both the geo function and associated query geometry (as GeoJSON). diff --git a/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/GeoFeatureVisitorTest.java b/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/GeoFeatureVisitorTest.java index cfc86046128..1a9041c4542 100644 --- a/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/GeoFeatureVisitorTest.java +++ b/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/GeoFeatureVisitorTest.java @@ -9,8 +9,8 @@ import org.apache.commons.jexl3.parser.JexlNode; import org.junit.Test; +import datawave.microservice.querymetric.QueryGeometry; import datawave.query.jexl.JexlASTHelper; -import datawave.webservice.query.map.QueryGeometry; public class GeoFeatureVisitorTest { private static final String GEO_FIELD_QUERY = "(((GEO_FIELD >= '0208' && GEO_FIELD <= '020d') || GEO_FIELD == '0202') && (geowave:intersects(GEO_FIELD, 'POLYGON((10 10, -10 10, -10 -10, 10 -10, 10 10 ))')))"; diff --git a/web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometry.java b/web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometry.java deleted file mode 100644 index 673733b849a..00000000000 --- a/web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometry.java +++ /dev/null @@ -1,69 +0,0 @@ -package datawave.webservice.query.map; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -import org.apache.commons.lang.StringEscapeUtils; - -/** - * This represents a datawave geo function and the associated query geometry in GeoJSON format. - */ -@XmlRootElement -@XmlAccessorType(XmlAccessType.NONE) -public class QueryGeometry implements Serializable { - - @XmlElement - private String function; - @XmlElement - private String geometry; - - public QueryGeometry(String function, String geometry) { - this.function = function; - this.geometry = geometry; - } - - public String getFunction() { - return function; - } - - public void setFunction(String function) { - this.function = function; - } - - public String getGeometry() { - return geometry; - } - - public void setGeometry(String geometry) { - this.geometry = geometry; - } - - public String toGeoJsonFeature() { - return "{'type': 'Feature', 'properties': {'function': \"" + StringEscapeUtils.escapeHtml(function) + "\"},'geometry': " + geometry + "}"; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (!(o instanceof QueryGeometry)) - return false; - - QueryGeometry that = (QueryGeometry) o; - - if (function != null ? !function.equals(that.function) : that.function != null) - return false; - return geometry != null ? geometry.equals(that.geometry) : that.geometry == null; - } - - @Override - public int hashCode() { - int result = function != null ? function.hashCode() : 0; - result = 31 * result + (geometry != null ? geometry.hashCode() : 0); - return result; - } -} diff --git a/web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometryResponse.java b/web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometryResponse.java deleted file mode 100644 index 0c52ffaf82e..00000000000 --- a/web-services/client/src/main/java/datawave/webservice/query/map/QueryGeometryResponse.java +++ /dev/null @@ -1,114 +0,0 @@ -package datawave.webservice.query.map; - -import java.util.List; -import java.util.stream.Collectors; - -import javax.xml.bind.annotation.XmlAccessOrder; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorOrder; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; - -import datawave.webservice.HtmlProvider; -import datawave.webservice.result.BaseResponse; - -/** - * This response includes information about what query geometries were present in a given query. The geometries are displayed on a map using leaflet. - */ -@XmlRootElement(name = "QueryGeometry") -@XmlAccessorType(XmlAccessType.NONE) -@XmlAccessorOrder(XmlAccessOrder.ALPHABETICAL) -public class QueryGeometryResponse extends BaseResponse implements HtmlProvider { - - private static final long serialVersionUID = 1L; - - private static final String TITLE = "Query Geometry"; - - // @formatter:off - private static final String LEAFLET_INCLUDES = - "\n" + - "\n"; - private static final String JQUERY_INCLUDES = - "\n"; - private static final String MAP_INCLUDES = - "\n" + - ""; - // @formatter:on - - public QueryGeometryResponse() { - this(null, null); - } - - public QueryGeometryResponse(String queryId, String basemaps) { - this.queryId = queryId; - this.basemaps = basemaps; - } - - @XmlElement(name = "queryId", nillable = true) - protected String queryId = null; - - @XmlTransient - protected String basemaps = null; - - @XmlElementWrapper(name = "features") - @XmlElement(name = "feature") - protected List result = null; - - @Override - public String getTitle() { - if (queryId != null) - return TITLE + " - " + queryId; - return TITLE; - } - - @Override - public String getHeadContent() { - String basemapData = "\n"; - String featureData = "\n"; - return String.join("\n", featureData, JQUERY_INCLUDES, LEAFLET_INCLUDES, basemapData, MAP_INCLUDES); - } - - @Override - public String getPageHeader() { - return getTitle(); - } - - @Override - public String getMainContent() { - return "
"; - } - - private String toGeoJsonFeatures() { - if (!this.result.isEmpty()) - return "[ " + this.result.stream().map(QueryGeometry::toGeoJsonFeature).collect(Collectors.joining(", ")) + " ]"; - else - return "undefined"; - } - - public String getQueryId() { - return queryId; - } - - public void setQueryId(String queryId) { - this.queryId = queryId; - } - - public List getResult() { - return result; - } - - public void setResult(List result) { - this.result = result; - } - - public String getBasemaps() { - return basemaps; - } - - public void setBasemaps(String basemaps) { - this.basemaps = basemaps; - } -} diff --git a/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java b/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java index 80bc49af096..ba9bc5c2e13 100644 --- a/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java +++ b/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java @@ -27,11 +27,11 @@ import datawave.configuration.RefreshableScope; import datawave.microservice.querymetric.BaseQueryMetric; import datawave.microservice.querymetric.BaseQueryMetricListResponse; +import datawave.microservice.querymetric.QueryGeometryResponse; import datawave.microservice.querymetric.QueryMetricsSummaryResponse; import datawave.security.authorization.DatawavePrincipal; import datawave.security.system.CallerPrincipal; import datawave.webservice.common.remote.RemoteHttpService; -import datawave.webservice.query.map.QueryGeometryResponse; import datawave.webservice.result.VoidResponse; /** @@ -43,13 +43,13 @@ @Priority(Interceptor.Priority.APPLICATION) public class RemoteQueryMetricService extends RemoteHttpService { - private static final String UPDATE_METRIC_SUFFIX = "updateMetric"; - private static final String UPDATE_METRICS_SUFFIX = "updateMetrics"; - private static final String ID_METRIC_SUFFIX = "id/%s"; - private static final String MAP_METRIC_SUFFIX = "id/%s/map"; - private static final String SUMMARY_ALL_SUFFIX = "summary/all"; - private static final String SUMMARY_USER_SUFFIX = "summary/user"; - private static final String AUTH_HEADER_NAME = "Authorization"; + public static final String UPDATE_METRIC_SUFFIX = "updateMetric"; + public static final String UPDATE_METRICS_SUFFIX = "updateMetrics"; + public static final String ID_METRIC_SUFFIX = "id/%s"; + public static final String MAP_METRIC_SUFFIX = "id/%s/map"; + public static final String SUMMARY_ALL_SUFFIX = "summary/all"; + public static final String SUMMARY_USER_SUFFIX = "summary/user"; + public static final String AUTH_HEADER_NAME = "Authorization"; private ObjectReader baseQueryMetricListResponseReader; private ObjectReader queryGeometryResponseReader; private ObjectReader queryMetricsSummaryResponseReader; diff --git a/web-services/common/src/main/java/datawave/webservice/common/json/DefaultMapperDecorator.java b/web-services/common/src/main/java/datawave/webservice/common/json/DefaultMapperDecorator.java index 759b105a19d..64f19398674 100644 --- a/web-services/common/src/main/java/datawave/webservice/common/json/DefaultMapperDecorator.java +++ b/web-services/common/src/main/java/datawave/webservice/common/json/DefaultMapperDecorator.java @@ -11,7 +11,7 @@ import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; import datawave.microservice.querymetric.BaseQueryMetricListResponse; -import datawave.microservice.querymetric.QueryMetricsDetailListResponse; +import datawave.microservice.querymetric.QueryMetricListResponse; import datawave.webservice.response.objects.DefaultKey; import datawave.webservice.response.objects.KeyBase; @@ -38,7 +38,7 @@ public ObjectMapper decorate(ObjectMapper mapper) { protected void registerAbstractTypes(ObjectMapper mapper) { SimpleModule module = new SimpleModule(KeyBase.class.getName()); module.addAbstractTypeMapping(KeyBase.class, DefaultKey.class); - module.addAbstractTypeMapping(BaseQueryMetricListResponse.class, QueryMetricsDetailListResponse.class); + module.addAbstractTypeMapping(BaseQueryMetricListResponse.class, QueryMetricListResponse.class); mapper.registerModule(module); } } diff --git a/web-services/metrics/src/main/java/datawave/query/map/SimpleQueryGeometryHandler.java b/web-services/metrics/src/main/java/datawave/query/map/SimpleQueryGeometryHandler.java index d07c70dc0f3..fd1e78ddcd7 100644 --- a/web-services/metrics/src/main/java/datawave/query/map/SimpleQueryGeometryHandler.java +++ b/web-services/metrics/src/main/java/datawave/query/map/SimpleQueryGeometryHandler.java @@ -20,13 +20,13 @@ import datawave.core.query.map.QueryGeometryHandler; import datawave.microservice.query.QueryImpl; import datawave.microservice.querymetric.BaseQueryMetric; +import datawave.microservice.querymetric.QueryGeometry; +import datawave.microservice.querymetric.QueryGeometryResponse; import datawave.query.jexl.JexlASTHelper; import datawave.query.jexl.visitors.GeoFeatureVisitor; import datawave.query.language.parser.ParseException; import datawave.query.language.parser.jexl.LuceneToJexlQueryParser; import datawave.query.metrics.ShardTableQueryMetricHandler; -import datawave.webservice.query.map.QueryGeometry; -import datawave.webservice.query.map.QueryGeometryResponse; /** * This class is used to extract query geometries from the query metrics in an effort to provide those geometries for subsequent display to the user. @@ -47,8 +47,9 @@ public class SimpleQueryGeometryHandler implements QueryGeometryHandler { @Override public QueryGeometryResponse getQueryGeometryResponse(String id, List metrics) { - QueryGeometryResponse response = new QueryGeometryResponse(id, basemaps); - + QueryGeometryResponse response = new QueryGeometryResponse(); + response.setQueryId(id); + response.setBasemaps(basemaps); if (metrics != null) { Set queryGeometries = new LinkedHashSet<>(); for (BaseQueryMetric metric : metrics) { diff --git a/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java b/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java index 814b85665ed..4ce461b03d9 100644 --- a/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java +++ b/web-services/metrics/src/main/java/datawave/query/metrics/ShardTableQueryMetricHandler.java @@ -89,7 +89,6 @@ import datawave.microservice.querymetric.QueryMetric; import datawave.microservice.querymetric.QueryMetricFactory; import datawave.microservice.querymetric.QueryMetricListResponse; -import datawave.microservice.querymetric.QueryMetricsDetailListResponse; import datawave.microservice.querymetric.QueryMetricsSummaryResponse; import datawave.query.iterator.QueryOptions; import datawave.query.jexl.visitors.JexlFormattedStringBuildingVisitor; @@ -521,8 +520,8 @@ private List getQueryMetrics(BaseResponse response, Query query, Da } @Override - public QueryMetricsDetailListResponse query(String user, String queryId, DatawavePrincipal datawavePrincipal) { - QueryMetricsDetailListResponse response = new QueryMetricsDetailListResponse(); + public QueryMetricListResponse query(String user, String queryId, DatawavePrincipal datawavePrincipal) { + QueryMetricListResponse response = new QueryMetricListResponse(); try { enableLogs(false); diff --git a/web-services/metrics/src/test/java/datawave/query/map/SimpleQueryGeometryHandlerTest.java b/web-services/metrics/src/test/java/datawave/query/map/SimpleQueryGeometryHandlerTest.java index 8d1e775bc0f..99ce02ccc03 100644 --- a/web-services/metrics/src/test/java/datawave/query/map/SimpleQueryGeometryHandlerTest.java +++ b/web-services/metrics/src/test/java/datawave/query/map/SimpleQueryGeometryHandlerTest.java @@ -12,10 +12,10 @@ import org.junit.Test; import datawave.microservice.query.QueryImpl; +import datawave.microservice.querymetric.QueryGeometry; +import datawave.microservice.querymetric.QueryGeometryResponse; import datawave.microservice.querymetric.QueryMetric; import datawave.webservice.query.exception.QueryExceptionType; -import datawave.webservice.query.map.QueryGeometry; -import datawave.webservice.query.map.QueryGeometryResponse; public class SimpleQueryGeometryHandlerTest { diff --git a/web-services/query/src/main/java/datawave/webservice/query/hud/HudBean.java b/web-services/query/src/main/java/datawave/webservice/query/hud/HudBean.java index 21cffcb0260..89f6a0372d0 100644 --- a/web-services/query/src/main/java/datawave/webservice/query/hud/HudBean.java +++ b/web-services/query/src/main/java/datawave/webservice/query/hud/HudBean.java @@ -28,6 +28,7 @@ import datawave.microservice.query.Query; import datawave.microservice.querymetric.BaseQueryMetric; import datawave.microservice.querymetric.BaseQueryMetric.PageMetric; +import datawave.microservice.querymetric.BaseQueryMetricListResponse; import datawave.microservice.querymetric.QueryMetricSummary; import datawave.microservice.querymetric.QueryMetricsSummaryResponse; import datawave.security.authorization.DatawavePrincipal; @@ -91,19 +92,21 @@ public String getRunningQueries(@PathParam("userid") String userId) throws Excep List queryMetricsList; - queryMetricsList = queryMetrics.query(queryId).getResult(); - - if (queryMetricsList != null && !queryMetricsList.isEmpty()) { - BaseQueryMetric qm = queryMetricsList.get(0); - - List pageMetrics = qm.getPageTimes(); - summary.setPageMetrics(pageMetrics); - - summary.setCreateDate(qm.getCreateDate().getTime()); - summary.setNumPages(qm.getNumPages()); - summary.setNumResults(qm.getNumResults()); - summary.setLastUpdated(qm.getLastUpdated().getTime()); - summary.setLifeCycle(qm.getLifecycle().toString()); + BaseQueryMetricListResponse response = queryMetrics.query(queryId); + if (response != null) { + queryMetricsList = response.getResult(); + if (queryMetricsList != null && !queryMetricsList.isEmpty()) { + BaseQueryMetric qm = queryMetricsList.get(0); + + List pageMetrics = qm.getPageTimes(); + summary.setPageMetrics(pageMetrics); + + summary.setCreateDate(qm.getCreateDate().getTime()); + summary.setNumPages(qm.getNumPages()); + summary.setNumResults(qm.getNumResults()); + summary.setLastUpdated(qm.getLastUpdated().getTime()); + summary.setLifeCycle(qm.getLifecycle().toString()); + } } querySummaryList.add(summary); @@ -125,20 +128,24 @@ private DatawavePrincipal getPrincipal() { @Path("/summaryall") @GET @RolesAllowed({"Administrator", "MetricsAdministrator"}) - public String getSummaryQueryStats() throws Exception { + public String getSummaryQueryStats() { QueryMetricsSummaryResponse summaryResp = queryMetrics.getQueryMetricsSummary(null, null); - QueryMetricSummary hour1 = summaryResp.getHour1(); - QueryMetricSummary hour6 = summaryResp.getHour6(); - QueryMetricSummary hour12 = summaryResp.getHour12(); - QueryMetricSummary day1 = summaryResp.getDay1(); - - List metricSummaryList = new ArrayList<>(); - metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(1L, hour1)); - metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(6L, hour6)); - metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(12L, hour12)); - metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(24L, day1)); - - return gson.toJson(metricSummaryList); + if (summaryResp == null) { + return null; + } else { + QueryMetricSummary hour1 = summaryResp.getHour1(); + QueryMetricSummary hour6 = summaryResp.getHour6(); + QueryMetricSummary hour12 = summaryResp.getHour12(); + QueryMetricSummary day1 = summaryResp.getDay1(); + + List metricSummaryList = new ArrayList<>(); + metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(1L, hour1)); + metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(6L, hour6)); + metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(12L, hour12)); + metricSummaryList.add(metricSummaryBuilder.buildMetricsSummary(24L, day1)); + + return gson.toJson(metricSummaryList); + } } @Path("/activeusers") diff --git a/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java b/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java index 23f7e61c6a9..27985d64e1a 100644 --- a/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java +++ b/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java @@ -1,5 +1,11 @@ package datawave.webservice.query.metric; +import static datawave.metrics.remote.RemoteQueryMetricService.ID_METRIC_SUFFIX; +import static datawave.metrics.remote.RemoteQueryMetricService.MAP_METRIC_SUFFIX; +import static datawave.metrics.remote.RemoteQueryMetricService.SUMMARY_ALL_SUFFIX; +import static datawave.metrics.remote.RemoteQueryMetricService.SUMMARY_USER_SUFFIX; + +import java.net.URISyntaxException; import java.security.Principal; import java.util.Calendar; import java.util.Date; @@ -19,18 +25,26 @@ import javax.ejb.TransactionManagementType; import javax.inject.Inject; import javax.interceptor.Interceptors; +import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.HttpHeaders; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.UriInfo; import org.apache.commons.lang.time.DateUtils; import org.apache.deltaspike.core.api.config.ConfigProperty; import org.apache.deltaspike.core.api.exclude.Exclude; +import org.apache.http.client.utils.URIBuilder; import org.apache.log4j.Logger; import org.jboss.resteasy.annotations.GZIP; +import org.springframework.http.MediaType; +import org.xbill.DNS.TextParseException; import datawave.annotation.DateFormat; import datawave.annotation.Required; @@ -48,7 +62,6 @@ import datawave.security.authorization.DatawavePrincipal; import datawave.webservice.query.exception.DatawaveErrorCode; import datawave.webservice.query.exception.QueryException; -import datawave.webservice.query.map.QueryGeometryResponse; @Path("/Query/Metrics") @Produces({"application/xml", "text/xml", "application/json", "text/yaml", "text/x-yaml", "application/x-yaml", "text/html"}) @@ -108,6 +121,22 @@ public void updateMetric(BaseQueryMetric metric) throws Exception { } } + /* + * Used from HudBean to 1) ensure no redirect 2) return BaseQueryMetricListResponse + */ + public BaseQueryMetricListResponse query(String id) { + if (queryMetricsWriterConfiguration.getUseRemoteService()) { + return remoteQueryMetricService.id(id); + } else { + try { + return (BaseQueryMetricListResponse) query(id, null, null); + } catch (Exception e) { + log.error(e.getMessage(), e); + return null; + } + } + } + /** * Returns metrics for the current users queries that are identified by the id * @@ -125,9 +154,10 @@ public void updateMetric(BaseQueryMetric metric) throws Exception { @POST @Path("/id/{id}") @Interceptors({RequiredInterceptor.class, ResponseInterceptor.class}) - public BaseQueryMetricListResponse query(@PathParam("id") @Required("id") String id) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - return remoteQueryMetricService.id(id); + public Object query(@PathParam("id") @Required("id") String id, @Context HttpServletRequest request, @Context UriInfo uriInfo) + throws TextParseException, URISyntaxException { + if (queryMetricsWriterConfiguration.getUseRemoteService() || isHtmlResponse(request)) { + return sendRedirect(String.format(ID_METRIC_SUFFIX, id), uriInfo); } else { // Find out who/what called this method DatawavePrincipal dp = null; @@ -145,11 +175,10 @@ public BaseQueryMetricListResponse query(@PathParam("id") @Required("id") String @POST @Path("/id/{id}/map") @Interceptors({RequiredInterceptor.class, ResponseInterceptor.class}) - public QueryGeometryResponse map(@PathParam("id") @Required("id") String id) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - QueryGeometryResponse response = remoteQueryMetricService.map(id); - response.setBasemaps(this.basemaps); - return response; + public Object map(@PathParam("id") @Required("id") String id, @Context HttpServletRequest request, @Context UriInfo uriInfo) + throws TextParseException, URISyntaxException { + if (queryMetricsWriterConfiguration.getUseRemoteService() || isHtmlResponse(request)) { + return sendRedirect(String.format(MAP_METRIC_SUFFIX, id), uriInfo); } else { // Find out who/what called this method DatawavePrincipal dp = null; @@ -163,6 +192,18 @@ public QueryGeometryResponse map(@PathParam("id") @Required("id") String id) { } } + /* + * Used from HudBean to 1) ensure no redirect 2) return QueryMetricsSummaryResponse + */ + public QueryMetricsSummaryResponse getQueryMetricsSummary(Date begin, Date end) { + try { + return (QueryMetricsSummaryResponse) getQueryMetricsSummary(begin, end, null, null); + } catch (Exception e) { + log.error(e.getMessage(), e); + return null; + } + } + /** * * Returns a summary of the query metrics @@ -183,10 +224,11 @@ public QueryGeometryResponse map(@PathParam("id") @Required("id") String id) { @Path("/summary/all") @Interceptors(ResponseInterceptor.class) @RolesAllowed({"Administrator", "MetricsAdministrator"}) - public QueryMetricsSummaryResponse getQueryMetricsSummary(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, - @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - return remoteQueryMetricService.summaryAll(begin, end); + public Object getQueryMetricsSummary(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, + @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end, @Context HttpServletRequest request, + @Context UriInfo uriInfo) throws TextParseException, URISyntaxException { + if (queryMetricsWriterConfiguration.getUseRemoteService() || isHtmlResponse(request)) { + return sendRedirect(SUMMARY_ALL_SUFFIX, uriInfo); } else { return queryMetricsSummary(begin, end, false); } @@ -213,14 +255,10 @@ public QueryMetricsSummaryResponse getQueryMetricsSummary(@QueryParam("begin") @ @Path("/summary") @Interceptors(ResponseInterceptor.class) @RolesAllowed({"Administrator", "MetricsAdministrator"}) - public QueryMetricsSummaryResponse getQueryMetricsSummaryDeprecated1( - @QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, - @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - return remoteQueryMetricService.summaryAll(begin, end); - } else { - return queryMetricsSummary(begin, end, false); - } + public Object getQueryMetricsSummaryDeprecated1(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, + @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end, @Context HttpServletRequest request, + @Context UriInfo uriInfo) throws TextParseException, URISyntaxException { + return getQueryMetricsSummary(begin, end, request, uriInfo); } /** @@ -244,14 +282,10 @@ public QueryMetricsSummaryResponse getQueryMetricsSummaryDeprecated1( @Path("/summaryCounts") @Interceptors(ResponseInterceptor.class) @RolesAllowed({"Administrator", "MetricsAdministrator"}) - public QueryMetricsSummaryResponse getQueryMetricsSummaryDeprecated2( - @QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, - @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - return remoteQueryMetricService.summaryAll(begin, end); - } else { - return queryMetricsSummary(begin, end, false); - } + public Object getQueryMetricsSummaryDeprecated2(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, + @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end, @Context HttpServletRequest request, + @Context UriInfo uriInfo) throws TextParseException, URISyntaxException { + return getQueryMetricsSummary(begin, end, request, uriInfo); } /** @@ -273,10 +307,11 @@ public QueryMetricsSummaryResponse getQueryMetricsSummaryDeprecated2( @GET @Path("/summary/user") @Interceptors(ResponseInterceptor.class) - public QueryMetricsSummaryResponse getQueryMetricsUserSummary(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, - @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - return remoteQueryMetricService.summaryUser(begin, end); + public Object getQueryMetricsUserSummary(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, + @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end, @Context HttpServletRequest request, + @Context UriInfo uriInfo) throws TextParseException, URISyntaxException { + if (queryMetricsWriterConfiguration.getUseRemoteService() || isHtmlResponse(request)) { + return sendRedirect(SUMMARY_USER_SUFFIX, uriInfo); } else { return queryMetricsSummary(begin, end, true); } @@ -302,14 +337,10 @@ public QueryMetricsSummaryResponse getQueryMetricsUserSummary(@QueryParam("begin @GET @Path("/summaryCounts/user") @Interceptors(ResponseInterceptor.class) - public QueryMetricsSummaryResponse getQueryMetricsUserSummaryDeprecated( - @QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, - @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end) { - if (queryMetricsWriterConfiguration.getUseRemoteService()) { - return remoteQueryMetricService.summaryUser(begin, end); - } else { - return queryMetricsSummary(begin, end, true); - } + public Object getQueryMetricsUserSummaryDeprecated(@QueryParam("begin") @DateFormat(defaultTime = "000000", defaultMillisec = "000") Date begin, + @QueryParam("end") @DateFormat(defaultTime = "235959", defaultMillisec = "999") Date end, @Context HttpServletRequest request, + @Context UriInfo uriInfo) throws TextParseException, URISyntaxException { + return getQueryMetricsUserSummary(begin, end, request, uriInfo); } private QueryMetricsSummaryResponse queryMetricsSummary(Date begin, Date end, boolean onlyCurrentUser) { @@ -357,4 +388,20 @@ private DatawavePrincipal getPrincipal() { } return dp; } + + private boolean isHtmlResponse(HttpServletRequest request) { + if (request == null) { + return false; + } else { + return MediaType.parseMediaTypes(request.getHeader(HttpHeaders.ACCEPT)).contains(MediaType.TEXT_HTML); + } + } + + private Response sendRedirect(String suffix, UriInfo uriInfo) throws TextParseException, URISyntaxException { + URIBuilder builder = remoteQueryMetricService.buildURI(suffix); + if (uriInfo != null) { + uriInfo.getQueryParameters().forEach((pname, valueList) -> valueList.forEach(pvalue -> builder.addParameter(pname, pvalue))); + } + return Response.temporaryRedirect(builder.build()).build(); + } } From a13d7d06adeb63692bacb1629fd8a37b40caf138 Mon Sep 17 00:00:00 2001 From: Bill Oley Date: Fri, 7 Jun 2024 15:40:30 -0400 Subject: [PATCH 6/8] Fix remote service redirects so that they will work in docker-compose/consul or in kubernetes (#2408) --- properties/default.properties | 8 ++++++-- .../datadictionary/RemoteDataDictionary.java | 12 +++++++++++- .../edgedictionary/RemoteEdgeDictionary.java | 11 +++++++++++ .../metrics/remote/RemoteQueryMetricService.java | 11 +++++++++++ .../webservice/common/remote/RemoteHttpService.java | 12 ++++++++++++ .../src/main/wildfly/add-datawave-configuration.cli | 2 ++ .../webservice/dictionary/DataDictionaryBean.java | 2 +- .../webservice/dictionary/EdgeDictionaryBean.java | 3 ++- .../webservice/query/metric/QueryMetricsBean.java | 6 ++---- 9 files changed, 58 insertions(+), 9 deletions(-) diff --git a/properties/default.properties b/properties/default.properties index 8ee098f3709..c4ca9644aab 100644 --- a/properties/default.properties +++ b/properties/default.properties @@ -106,9 +106,11 @@ auditing.remoteauditservice.port=8443 # The scheme to use when connecting to the remote dictionary service dictionary.remoteservice.scheme=https # The host to connect to (or do a SRV lookup on) for the remote dictionary service -dictionary.remoteservice.host=dictionary +dictionary.remoteservice.host=localhost # The port to connect to (unless a SRV lookup was performed) for the remote dictionary service -dictionary.remoteservice.port=8443 +dictionary.remoteservice.port=8843 +# Use the configured scheme/host/port for redirect calls (instead of those from the request) +dictionary.remoteservice.useConfiguredURIForRedirect=true ############################ # @@ -147,6 +149,8 @@ querymetric.remoteservice.host=localhost querymetric.remoteservice.port=9043 # Is the remote service enabled querymetric.remoteservice.enabled=false +# Use the configured scheme/host/port for redirect calls (instead of those from the request) +querymetric.remoteservice.useConfiguredURIForRedirect=true ############################ # diff --git a/warehouse/data-dictionary-core/src/main/java/datawave/webservice/datadictionary/RemoteDataDictionary.java b/warehouse/data-dictionary-core/src/main/java/datawave/webservice/datadictionary/RemoteDataDictionary.java index 87fbae1a5be..1cb4c4cdd22 100644 --- a/warehouse/data-dictionary-core/src/main/java/datawave/webservice/datadictionary/RemoteDataDictionary.java +++ b/warehouse/data-dictionary-core/src/main/java/datawave/webservice/datadictionary/RemoteDataDictionary.java @@ -1,11 +1,14 @@ package datawave.webservice.datadictionary; +import java.net.URI; import java.util.List; import javax.annotation.PostConstruct; import javax.inject.Inject; import org.apache.deltaspike.core.api.config.ConfigProperty; +import org.apache.http.client.utils.URIBuilder; +import org.xbill.DNS.TextParseException; import com.codahale.metrics.Counter; import com.codahale.metrics.annotation.Metric; @@ -50,6 +53,10 @@ public class RemoteDataDictionary extends RemoteHttpService { @ConfigProperty(name = "dw.remoteDictionary.port", defaultValue = "8843") private int dictServicePort; + @Inject + @ConfigProperty(name = "dw.remoteDictionary.useConfiguredURIForRedirect", defaultValue = "false") + private boolean useConfiguredURIForRedirect; + @Inject @ConfigProperty(name = "dw.remoteDictionary.data.uri", defaultValue = "/dictionary/data/v1/") private String dictServiceURI; @@ -111,6 +118,10 @@ public DataDictionaryBase> getDataDictionary( // @formatter:on } + public URIBuilder buildRedirectURI(String suffix, URI baseURI) throws TextParseException { + return buildRedirectURI(suffix, baseURI, useConfiguredURIForRedirect); + } + @Override protected String serviceHost() { return dictServiceHost; @@ -175,5 +186,4 @@ protected Counter retryCounter() { protected Counter failureCounter() { return failureCounter; } - } diff --git a/warehouse/edge-dictionary-core/src/main/java/datawave/webservice/edgedictionary/RemoteEdgeDictionary.java b/warehouse/edge-dictionary-core/src/main/java/datawave/webservice/edgedictionary/RemoteEdgeDictionary.java index 80beb8db209..af5077833ff 100644 --- a/warehouse/edge-dictionary-core/src/main/java/datawave/webservice/edgedictionary/RemoteEdgeDictionary.java +++ b/warehouse/edge-dictionary-core/src/main/java/datawave/webservice/edgedictionary/RemoteEdgeDictionary.java @@ -1,11 +1,14 @@ package datawave.webservice.edgedictionary; +import java.net.URI; import java.util.List; import javax.annotation.PostConstruct; import javax.inject.Inject; import org.apache.deltaspike.core.api.config.ConfigProperty; +import org.apache.http.client.utils.URIBuilder; +import org.xbill.DNS.TextParseException; import com.codahale.metrics.Counter; import com.codahale.metrics.annotation.Metric; @@ -51,6 +54,10 @@ public class RemoteEdgeDictionary extends RemoteHttpService { @ConfigProperty(name = "dw.remoteDictionary.port", defaultValue = "8843") private int dictServicePort; + @Inject + @ConfigProperty(name = "dw.remoteDictionary.useConfiguredURIForRedirect", defaultValue = "false") + private boolean useConfiguredURIForRedirect; + @Inject @ConfigProperty(name = "dw.remoteDictionary.edge.uri", defaultValue = "/dictionary/edge/v1/") private String dictServiceURI; @@ -109,6 +116,10 @@ public EdgeDictionaryBase> getEdgeDictionary(Query s // @formatter:on } + public URIBuilder buildRedirectURI(String suffix, URI baseURI) throws TextParseException { + return buildRedirectURI(suffix, baseURI, useConfiguredURIForRedirect); + } + @Override protected String serviceHost() { return dictServiceHost; diff --git a/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java b/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java index ba9bc5c2e13..edc47e3fb9c 100644 --- a/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java +++ b/web-services/common/src/main/java/datawave/metrics/remote/RemoteQueryMetricService.java @@ -1,5 +1,6 @@ package datawave.metrics.remote; +import java.net.URI; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -15,7 +16,9 @@ import org.apache.deltaspike.core.api.config.ConfigProperty; import org.apache.http.HttpEntity; +import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.StringEntity; +import org.xbill.DNS.TextParseException; import com.codahale.metrics.Counter; import com.codahale.metrics.annotation.Metric; @@ -78,6 +81,10 @@ public class RemoteQueryMetricService extends RemoteHttpService { @ConfigProperty(name = "dw.remoteQueryMetricService.port", defaultValue = "8443") private int servicePort; + @Inject + @ConfigProperty(name = "dw.remoteQueryMetricService.useConfiguredURIForRedirect", defaultValue = "false") + private boolean useConfiguredURIForRedirect; + @Inject @ConfigProperty(name = "dw.remoteQueryMetricService.uri", defaultValue = "/querymetric/v1/") private String serviceURI; @@ -224,6 +231,10 @@ public QueryMetricsSummaryResponse summaryUser(Date begin, Date end) { // @formatter:on } + public URIBuilder buildRedirectURI(String suffix, URI baseURI) throws TextParseException { + return buildRedirectURI(suffix, baseURI, useConfiguredURIForRedirect); + } + protected String getBearer() { return "Bearer " + jwtTokenHandler.createTokenFromUsers(callerPrincipal.getName(), callerPrincipal.getProxiedUsers()); } diff --git a/web-services/common/src/main/java/datawave/webservice/common/remote/RemoteHttpService.java b/web-services/common/src/main/java/datawave/webservice/common/remote/RemoteHttpService.java index d95b52dc1ff..432005b5113 100644 --- a/web-services/common/src/main/java/datawave/webservice/common/remote/RemoteHttpService.java +++ b/web-services/common/src/main/java/datawave/webservice/common/remote/RemoteHttpService.java @@ -4,6 +4,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.net.ConnectException; +import java.net.URI; import java.net.URISyntaxException; import java.net.UnknownHostException; import java.security.Key; @@ -258,6 +259,17 @@ public URIBuilder buildURI(String suffix) throws TextParseException { return buildURI().setPath(serviceURI() + suffix); } + public URIBuilder buildRedirectURI(String suffix, URI baseURI, boolean useConfiguredBaseURI) throws TextParseException { + URIBuilder builder; + if (useConfiguredBaseURI) { + builder = buildURI(); + } else { + builder = new URIBuilder(baseURI); + } + builder.setPath(serviceURI() + suffix); + return builder; + } + protected T executeGetMethod(Consumer uriCustomizer, Consumer requestCustomizer, IOFunction resultConverter, Supplier errorSupplier) throws URISyntaxException, IOException { return executeGetMethod("", uriCustomizer, requestCustomizer, resultConverter, errorSupplier); diff --git a/web-services/deploy/application/src/main/wildfly/add-datawave-configuration.cli b/web-services/deploy/application/src/main/wildfly/add-datawave-configuration.cli index 069065e0cf5..13f4256a956 100644 --- a/web-services/deploy/application/src/main/wildfly/add-datawave-configuration.cli +++ b/web-services/deploy/application/src/main/wildfly/add-datawave-configuration.cli @@ -131,6 +131,7 @@ module add --name=com.mysql.driver --dependencies=javax.api,javax.transaction.ap /system-property=dw.remoteDictionary.scheme:add(value=${dictionary.remoteservice.scheme}) /system-property=dw.remoteDictionary.host:add(value=${dictionary.remoteservice.host}) /system-property=dw.remoteDictionary.port:add(value=${dictionary.remoteservice.port}) +/system-property=dw.remoteDictionary.useConfiguredURIForRedirect:add(value=${dictionary.remoteservice.useConfiguredURIForRedirect}) # Accumulo microservice config /system-property=dw.remoteAccumuloService.useSrvDnsLookup:add(value=${accumulo.remoteservice.srv.lookup.enabled}) @@ -147,6 +148,7 @@ module add --name=com.mysql.driver --dependencies=javax.api,javax.transaction.ap /system-property=dw.remoteQueryMetricService.scheme:add(value=${querymetric.remoteservice.scheme}) /system-property=dw.remoteQueryMetricService.host:add(value=${querymetric.remoteservice.host}) /system-property=dw.remoteQueryMetricService.port:add(value=${querymetric.remoteservice.port}) +/system-property=dw.remoteQueryMetricService.useConfiguredURIForRedirect:add(value=${querymetric.remoteservice.useConfiguredURIForRedirect}) # Disable SASL client authentication in zookeeper /system-property=zookeeper.sasl.client:add(value=false) diff --git a/web-services/dictionary/src/main/java/datawave/webservice/dictionary/DataDictionaryBean.java b/web-services/dictionary/src/main/java/datawave/webservice/dictionary/DataDictionaryBean.java index e53b33a4013..26f946f3773 100644 --- a/web-services/dictionary/src/main/java/datawave/webservice/dictionary/DataDictionaryBean.java +++ b/web-services/dictionary/src/main/java/datawave/webservice/dictionary/DataDictionaryBean.java @@ -50,7 +50,7 @@ public Response getDataDictionaryWithSuffix(@PathParam("suffix") String suffix, } private Response sendRedirect(String suffix, UriInfo uriInfo) throws TextParseException, URISyntaxException { - URIBuilder builder = remoteDataDictionary.buildURI(suffix); + URIBuilder builder = remoteDataDictionary.buildRedirectURI(suffix, uriInfo.getBaseUri()); uriInfo.getQueryParameters().forEach((pname, valueList) -> valueList.forEach(pvalue -> builder.addParameter(pname, pvalue))); return Response.temporaryRedirect(builder.build()).build(); } diff --git a/web-services/dictionary/src/main/java/datawave/webservice/dictionary/EdgeDictionaryBean.java b/web-services/dictionary/src/main/java/datawave/webservice/dictionary/EdgeDictionaryBean.java index cd3ed651e62..e2359d82f1b 100644 --- a/web-services/dictionary/src/main/java/datawave/webservice/dictionary/EdgeDictionaryBean.java +++ b/web-services/dictionary/src/main/java/datawave/webservice/dictionary/EdgeDictionaryBean.java @@ -12,6 +12,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; +import org.apache.deltaspike.core.api.config.ConfigProperty; import org.apache.http.client.utils.URIBuilder; import org.xbill.DNS.TextParseException; @@ -42,7 +43,7 @@ public class EdgeDictionaryBean { @GET @Path("/") public Response getEdgeDictionary(@Context UriInfo uriInfo) throws TextParseException, URISyntaxException { - URIBuilder builder = remoteEdgeDictionary.buildURI(""); + URIBuilder builder = remoteEdgeDictionary.buildRedirectURI("", uriInfo.getBaseUri()); uriInfo.getQueryParameters().forEach((pname, valueList) -> valueList.forEach(pvalue -> builder.addParameter(pname, pvalue))); return Response.temporaryRedirect(builder.build()).build(); } diff --git a/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java b/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java index 27985d64e1a..b2370ce0505 100644 --- a/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java +++ b/web-services/query/src/main/java/datawave/webservice/query/metric/QueryMetricsBean.java @@ -398,10 +398,8 @@ private boolean isHtmlResponse(HttpServletRequest request) { } private Response sendRedirect(String suffix, UriInfo uriInfo) throws TextParseException, URISyntaxException { - URIBuilder builder = remoteQueryMetricService.buildURI(suffix); - if (uriInfo != null) { - uriInfo.getQueryParameters().forEach((pname, valueList) -> valueList.forEach(pvalue -> builder.addParameter(pname, pvalue))); - } + URIBuilder builder = remoteQueryMetricService.buildRedirectURI(suffix, uriInfo.getBaseUri()); + uriInfo.getQueryParameters().forEach((pname, valueList) -> valueList.forEach(pvalue -> builder.addParameter(pname, pvalue))); return Response.temporaryRedirect(builder.build()).build(); } } From 3ffbad9c968c305d4e6d748d41c3be54211b586b Mon Sep 17 00:00:00 2001 From: Ivan Bella Date: Fri, 7 Jun 2024 20:04:50 +0000 Subject: [PATCH 7/8] fixes #2406: scanner factory deadlock (#2407) * Removed synchronization in the scanner factory * Updated to track all scanners created by the factory --- .../datawave/query/tables/ScannerFactory.java | 183 +++++++++++------- 1 file changed, 113 insertions(+), 70 deletions(-) diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java b/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java index 6145ba40116..034f1c890a4 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java @@ -6,6 +6,7 @@ import java.util.HashSet; import java.util.Properties; import java.util.Set; +import java.util.concurrent.atomic.AtomicBoolean; import org.apache.accumulo.core.client.AccumuloClient; import org.apache.accumulo.core.client.BatchScanner; @@ -33,33 +34,31 @@ public class ScannerFactory { protected int maxQueue = 1000; - protected HashSet instances = new HashSet<>(); - protected HashSet sessionInstances = new HashSet<>(); - protected AccumuloClient cxn; - protected boolean open = true; + protected final Set instances = Collections.synchronizedSet(new HashSet<>()); + protected final Set sessionInstances = Collections.synchronizedSet(new HashSet<>()); + protected final AccumuloClient cxn; + // using an AtomicBoolean to give us a separate monitor for synchronization + protected final AtomicBoolean open = new AtomicBoolean(true); + protected boolean accrueStats = false; - protected Query settings; + protected Query settings = null; protected ResourceQueue scanQueue = null; - ShardQueryConfiguration config = null; + protected ShardQueryConfiguration config = null; private static final Logger log = Logger.getLogger(ScannerFactory.class); public ScannerFactory(GenericQueryConfiguration queryConfiguration) { this.cxn = queryConfiguration.getClient(); - - if (queryConfiguration instanceof ShardQueryConfiguration) { - this.settings = ((ShardQueryConfiguration) queryConfiguration).getQuery(); - this.accrueStats = ((ShardQueryConfiguration) queryConfiguration).getAccrueStats(); - } log.debug("Created scanner factory " + System.identityHashCode(this) + " is wrapped ? " + (cxn instanceof WrappedConnector)); if (queryConfiguration instanceof ShardQueryConfiguration) { - config = ((ShardQueryConfiguration) queryConfiguration); - maxQueue = ((ShardQueryConfiguration) queryConfiguration).getMaxScannerBatchSize(); - this.settings = ((ShardQueryConfiguration) queryConfiguration).getQuery(); + this.config = ((ShardQueryConfiguration) queryConfiguration); + this.maxQueue = this.config.getMaxScannerBatchSize(); + this.settings = this.config.getQuery(); + this.accrueStats = this.config.getAccrueStats(); try { - scanQueue = new ResourceQueue(((ShardQueryConfiguration) queryConfiguration).getNumQueryThreads(), this.cxn); + scanQueue = new ResourceQueue(this.config.getNumQueryThreads(), this.cxn); } catch (Exception e) { throw new RuntimeException(e); } @@ -74,50 +73,71 @@ public ScannerFactory(AccumuloClient client) { public ScannerFactory(AccumuloClient client, int queueSize) { try { this.cxn = client; - scanQueue = new ResourceQueue(queueSize, client); + this.scanQueue = new ResourceQueue(queueSize, client); } catch (Exception e) { throw new RuntimeException(e); } } - public synchronized Scanner newSingleScanner(String tableName, Set auths, Query query) throws TableNotFoundException { - if (open) { + public Scanner newSingleScanner(String tableName, Set auths, Query query) throws TableNotFoundException { + if (open.get()) { Scanner bs = QueryScannerHelper.createScannerWithoutInfo(cxn, tableName, auths, query); log.debug("Created scanner " + System.identityHashCode(bs)); if (log.isTraceEnabled()) { log.trace("Adding instance " + bs.hashCode()); } - return bs; + synchronized (open) { + if (open.get()) { + instances.add(bs); + return bs; + } else { + bs.close(); + throw new IllegalStateException("Factory has been locked. No new scanners can be created."); + } + } } else { throw new IllegalStateException("Factory has been locked. No new scanners can be created."); } } - public synchronized BatchScanner newScanner(String tableName, Set auths, int threads, Query query) throws TableNotFoundException { - if (open) { + public BatchScanner newScanner(String tableName, Set auths, int threads, Query query) throws TableNotFoundException { + if (open.get()) { BatchScanner bs = QueryScannerHelper.createBatchScanner(cxn, tableName, auths, threads, query); log.debug("Created scanner " + System.identityHashCode(bs)); if (log.isTraceEnabled()) { log.trace("Adding instance " + bs.hashCode()); } - instances.add(bs); - return bs; + synchronized (open) { + if (open.get()) { + instances.add(bs); + return bs; + } else { + bs.close(); + throw new IllegalStateException("Factory has been locked. No new scanners can be created."); + } + } } else { throw new IllegalStateException("Factory has been locked. No new scanners can be created."); } } - public synchronized BatchScanner newScanner(String tableName, Set auths, int threads, Query query, boolean reportErrors) - throws TableNotFoundException { - if (open) { + public BatchScanner newScanner(String tableName, Set auths, int threads, Query query, boolean reportErrors) throws TableNotFoundException { + if (open.get()) { BatchScanner bs = QueryScannerHelper.createBatchScanner(cxn, tableName, auths, threads, query, reportErrors); log.debug("Created scanner " + System.identityHashCode(bs)); if (log.isTraceEnabled()) { log.trace("Adding instance " + bs.hashCode()); } - instances.add(bs); - return bs; + synchronized (open) { + if (open.get()) { + instances.add(bs); + return bs; + } else { + bs.close(); + throw new IllegalStateException("Factory has been locked. No new scanners can be created."); + } + } } else { throw new IllegalStateException("Factory has been locked. No new scanners can be created."); } @@ -145,7 +165,7 @@ public BatchScanner newScanner(String tableName, Query query) throws TableNotFou * @throws Exception * if there are issues */ - public synchronized BatchScannerSession newQueryScanner(final String tableName, final Set auths, Query settings) throws Exception { + public BatchScannerSession newQueryScanner(final String tableName, final Set auths, Query settings) throws Exception { return newLimitedScanner(BatchScannerSession.class, tableName, auths, settings).setThreads(scanQueue.getCapacity()); } @@ -169,11 +189,11 @@ public synchronized BatchScannerSession newQueryScanner(final String tableName, * if there are issues * */ - public synchronized T newLimitedScanner(Class wrapper, final String tableName, final Set auths, - final Query settings) throws Exception { + public T newLimitedScanner(Class wrapper, final String tableName, final Set auths, final Query settings) + throws Exception { Preconditions.checkNotNull(scanQueue); Preconditions.checkNotNull(wrapper); - Preconditions.checkArgument(open, "Factory has been locked. No New scanners can be created"); + Preconditions.checkArgument(open.get(), "Factory has been locked. No New scanners can be created"); log.debug("Creating limited scanner whose max threads is is " + scanQueue.getCapacity() + " and max capacity is " + maxQueue); @@ -194,9 +214,15 @@ public synchronized T newLimitedScanner(Class wrap if (log.isTraceEnabled()) { log.trace("Adding instance " + session.hashCode()); } - sessionInstances.add(session); - - return session; + synchronized (open) { + if (open.get()) { + sessionInstances.add(session); + return session; + } else { + session.close(); + throw new IllegalStateException("Factory has been locked. No new scanners can be created."); + } + } } /** @@ -213,7 +239,7 @@ public synchronized T newLimitedScanner(Class wrap * @throws Exception * if there are issues */ - public synchronized RangeStreamScanner newRangeScanner(final String tableName, final Set auths, final Query settings) throws Exception { + public RangeStreamScanner newRangeScanner(final String tableName, final Set auths, final Query settings) throws Exception { return newRangeScanner(tableName, auths, settings, Integer.MAX_VALUE); } @@ -221,16 +247,21 @@ public RangeStreamScanner newRangeScanner(String tableName, Set return newLimitedScanner(RangeStreamScanner.class, tableName, auths, settings).setShardsPerDayThreshold(shardsPerDayThreshold).setScannerFactory(this); } - public synchronized boolean close(ScannerBase bs) { - boolean removed = instances.remove(bs); - if (removed) { + public boolean close(ScannerBase bs) { + try { log.debug("Closed scanner " + System.identityHashCode(bs)); - if (log.isTraceEnabled()) { - log.trace("Closing instance " + bs.hashCode()); + if (instances.remove(bs)) { + if (log.isTraceEnabled()) { + log.trace("Closing instance " + bs.hashCode()); + } + bs.close(); + return true; } - bs.close(); + } catch (Exception e) { + // ANY EXCEPTION HERE CAN SAFELY BE IGNORED + log.trace("Exception closing ScannerBase, can be safely ignored: {}", e); } - return removed; + return false; } /** @@ -238,7 +269,7 @@ public synchronized boolean close(ScannerBase bs) { * * @return a NEW collection of scanners */ - public synchronized Collection currentScanners() { + public Collection currentScanners() { return new ArrayList<>(instances); } @@ -247,28 +278,30 @@ public synchronized Collection currentScanners() { * * @return a NEW collection of scanner session instances */ - public synchronized Collection currentSessions() { + public Collection currentSessions() { return new ArrayList<>(sessionInstances); } - public synchronized boolean lockdown() { + public boolean lockdown() { log.debug("Locked scanner factory " + System.identityHashCode(this)); if (log.isTraceEnabled()) { log.trace("Locked down with following stacktrace", new Exception("stacktrace for debugging")); } - open = false; - return open; + synchronized (open) { + return open.getAndSet(false); + } } - public synchronized void close(ScannerSession bs) { + public void close(ScannerSession bs) { try { log.debug("Closed session " + System.identityHashCode(bs)); - sessionInstances.remove(bs); - if (log.isTraceEnabled()) { - log.trace("Closing instance " + bs.hashCode()); + if (sessionInstances.remove(bs)) { + if (log.isTraceEnabled()) { + log.trace("Closing instance " + bs.hashCode()); + } + bs.close(); } - bs.close(); } catch (Exception e) { // ANY EXCEPTION HERE CAN SAFELY BE IGNORED log.trace("Exception closing ScannerSession, can be safely ignored: {}", e); @@ -279,30 +312,40 @@ public void setMaxQueue(int size) { this.maxQueue = size; } - public synchronized ScannerBase newRfileScanner(String tableName, Set auths, Query setting) { - Configuration conf = new Configuration(); + public ScannerBase newRfileScanner(String tableName, Set auths, Query setting) { + if (open.get()) { + Configuration conf = new Configuration(); - AccumuloClient con = cxn; + AccumuloClient con = cxn; - Properties clientProps = con.properties(); - final String instanceName = clientProps.getProperty(ClientProperty.INSTANCE_NAME.getKey()); - final String zookeepers = clientProps.getProperty(ClientProperty.INSTANCE_ZOOKEEPERS.getKey()); + Properties clientProps = con.properties(); + final String instanceName = clientProps.getProperty(ClientProperty.INSTANCE_NAME.getKey()); + final String zookeepers = clientProps.getProperty(ClientProperty.INSTANCE_ZOOKEEPERS.getKey()); - AccumuloHelper.setInstanceName(conf, instanceName); - AccumuloHelper.setUsername(conf, con.whoami()); + AccumuloHelper.setInstanceName(conf, instanceName); + AccumuloHelper.setUsername(conf, con.whoami()); - AccumuloHelper.setZooKeepers(conf, zookeepers); - BulkInputFormat.setZooKeeperInstance(conf, instanceName, zookeepers); + AccumuloHelper.setZooKeepers(conf, zookeepers); + BulkInputFormat.setZooKeeperInstance(conf, instanceName, zookeepers); - AccumuloHelper.setPassword(conf, config.getAccumuloPassword().getBytes()); - BulkInputFormat.setMemoryInput(conf, con.whoami(), config.getAccumuloPassword().getBytes(), tableName, auths.iterator().next()); + AccumuloHelper.setPassword(conf, config.getAccumuloPassword().getBytes()); + BulkInputFormat.setMemoryInput(conf, con.whoami(), config.getAccumuloPassword().getBytes(), tableName, auths.iterator().next()); - conf.set(MultiRfileInputformat.CACHE_METADATA, "true"); + conf.set(MultiRfileInputformat.CACHE_METADATA, "true"); - ScannerBase baseScanner = new RfileScanner(con, conf, tableName, auths, 1); + ScannerBase baseScanner = new RfileScanner(con, conf, tableName, auths, 1); - instances.add(baseScanner); - - return baseScanner; + synchronized (open) { + if (open.get()) { + instances.add(baseScanner); + return baseScanner; + } else { + baseScanner.close(); + throw new IllegalStateException("Factory has been locked. No new scanners can be created."); + } + } + } else { + throw new IllegalStateException("Factory has been locked. No new scanners can be created."); + } } } From 0f342201b57bb3670f59fef87bad807608ab1c74 Mon Sep 17 00:00:00 2001 From: Moriarty <22225248+apmoriarty@users.noreply.github.com> Date: Wed, 12 Jun 2024 10:24:19 -0400 Subject: [PATCH 8/8] Add support for setting scan consistency level on a query logic (#2386) * Add support for setting scan consistency level on a query logic Additional updates Update a few instances that still relied on old constructors Only update scanner factory hints and consistency if set on logic config * merge request feedback * clarify names are per-table --- .../GenericQueryConfiguration.java | 25 ++ .../core/query/logic/BaseQueryLogic.java | 16 ++ .../query/tables/BatchScannerSession.java | 4 + .../datawave/query/tables/ScannerFactory.java | 163 +++++++++--- .../query/tables/ShardIndexQueryTable.java | 9 +- .../query/tables/ShardQueryLogic.java | 8 + .../tables/content/ContentQueryLogic.java | 5 +- .../query/tables/edge/EdgeQueryLogic.java | 3 +- .../shard/FieldIndexCountQueryLogic.java | 3 +- .../ssdeep/SSDeepSimilarityQueryLogic.java | 3 +- .../query/ScanConsistencyQueryTest.java | 121 +++++++++ .../config/ShardQueryConfigurationTest.java | 5 + .../index/lookup/RangeStreamQueryTest.java | 3 +- .../query/index/lookup/RangeStreamTest.java | 73 +++--- .../query/index/lookup/RangeStreamTestX.java | 6 +- .../UnfieldedIndexExpansionVisitorTest.java | 8 +- .../query/tables/RangeStreamScannerTest.java | 7 +- .../query/tables/ScannerFactoryTest.java | 232 ++++++++++++++++++ .../AbstractFunctionalQuery.java | 2 +- .../configuration/TestBaseQueryLogic.java | 2 + 20 files changed, 614 insertions(+), 84 deletions(-) create mode 100644 warehouse/query-core/src/test/java/datawave/query/ScanConsistencyQueryTest.java create mode 100644 warehouse/query-core/src/test/java/datawave/query/tables/ScannerFactoryTest.java diff --git a/core/query/src/main/java/datawave/core/query/configuration/GenericQueryConfiguration.java b/core/query/src/main/java/datawave/core/query/configuration/GenericQueryConfiguration.java index a8dd9cfbd6e..594716baa79 100644 --- a/core/query/src/main/java/datawave/core/query/configuration/GenericQueryConfiguration.java +++ b/core/query/src/main/java/datawave/core/query/configuration/GenericQueryConfiguration.java @@ -5,13 +5,16 @@ import java.util.Collection; import java.util.Collections; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; import org.apache.accumulo.core.client.AccumuloClient; import org.apache.accumulo.core.client.BatchScanner; +import org.apache.accumulo.core.client.ScannerBase; import org.apache.accumulo.core.security.Authorizations; import com.google.common.collect.Iterators; @@ -70,6 +73,10 @@ public class GenericQueryConfiguration implements Serializable { // Whether or not this query emits every result or performs some kind of result reduction protected boolean reduceResults = false; + // either IMMEDIATE or EVENTUAL + private Map tableConsistencyLevels = new HashMap<>(); + private Map> tableHints = new HashMap<>(); + /** * Empty default constructor */ @@ -103,6 +110,8 @@ public GenericQueryConfiguration(GenericQueryConfiguration genericConfig) { this.setQueryString(genericConfig.getQueryString()); this.setTableName(genericConfig.getTableName()); this.setReduceResults(genericConfig.isReduceResults()); + this.setTableConsistencyLevels(genericConfig.getTableConsistencyLevels()); + this.setTableHints(genericConfig.getTableHints()); } public Collection getQueries() { @@ -269,6 +278,22 @@ public void setAccumuloPassword(String password) { this.accumuloPassword = EnvProvider.resolve(password); } + public Map getTableConsistencyLevels() { + return tableConsistencyLevels; + } + + public void setTableConsistencyLevels(Map tableConsistencyLevels) { + this.tableConsistencyLevels = tableConsistencyLevels; + } + + public Map> getTableHints() { + return tableHints; + } + + public void setTableHints(Map> tableHints) { + this.tableHints = tableHints; + } + /** * Checks for non-null, sane values for the configured values * diff --git a/core/query/src/main/java/datawave/core/query/logic/BaseQueryLogic.java b/core/query/src/main/java/datawave/core/query/logic/BaseQueryLogic.java index 652d02536bb..f90c7d44701 100644 --- a/core/query/src/main/java/datawave/core/query/logic/BaseQueryLogic.java +++ b/core/query/src/main/java/datawave/core/query/logic/BaseQueryLogic.java @@ -445,4 +445,20 @@ public void setClientConfig(AccumuloClientConfiguration clientConfig) { public AccumuloClientConfiguration getClientConfig() { return clientConfig; } + + public Map getTableConsistencyLevels() { + return getConfig().getTableConsistencyLevels(); + } + + public void setTableConsistencyLevels(Map consistencyLevels) { + getConfig().setTableConsistencyLevels(consistencyLevels); + } + + public Map> getTableHints() { + return getConfig().getTableHints(); + } + + public void setTableHints(Map> hints) { + getConfig().setTableHints(hints); + } } diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/BatchScannerSession.java b/warehouse/query-core/src/main/java/datawave/query/tables/BatchScannerSession.java index b38883be416..c00e0decb3e 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/BatchScannerSession.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/BatchScannerSession.java @@ -19,6 +19,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.accumulo.core.client.ScannerBase; import org.apache.accumulo.core.clientImpl.ScannerOptions; import org.apache.accumulo.core.clientImpl.TabletLocator; import org.apache.accumulo.core.data.Key; @@ -524,7 +525,10 @@ protected void submitScan(Scan scan, boolean increment) { */ public BatchScannerSession setOptions(SessionOptions options) { return this; + } + public void setConsistencyLevel(ScannerBase.ConsistencyLevel consistencyLevel) { + this.options.setConsistencyLevel(consistencyLevel); } /** diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java b/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java index 034f1c890a4..b12970e808a 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/ScannerFactory.java @@ -3,7 +3,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; +import java.util.Map; import java.util.Properties; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -33,10 +35,12 @@ public class ScannerFactory { + private static final int DEFAULT_MAX_THREADS = 100; protected int maxQueue = 1000; + protected final Set instances = Collections.synchronizedSet(new HashSet<>()); protected final Set sessionInstances = Collections.synchronizedSet(new HashSet<>()); - protected final AccumuloClient cxn; + protected AccumuloClient client; // using an AtomicBoolean to give us a separate monitor for synchronization protected final AtomicBoolean open = new AtomicBoolean(true); @@ -45,43 +49,97 @@ public class ScannerFactory { protected ResourceQueue scanQueue = null; protected ShardQueryConfiguration config = null; - private static final Logger log = Logger.getLogger(ScannerFactory.class); - - public ScannerFactory(GenericQueryConfiguration queryConfiguration) { + protected Map consistencyByTable = new HashMap<>(); + protected Map> hintsByTable = new HashMap<>(); - this.cxn = queryConfiguration.getClient(); - log.debug("Created scanner factory " + System.identityHashCode(this) + " is wrapped ? " + (cxn instanceof WrappedConnector)); + private static final Logger log = Logger.getLogger(ScannerFactory.class); - if (queryConfiguration instanceof ShardQueryConfiguration) { - this.config = ((ShardQueryConfiguration) queryConfiguration); - this.maxQueue = this.config.getMaxScannerBatchSize(); - this.settings = this.config.getQuery(); - this.accrueStats = this.config.getAccrueStats(); - try { - scanQueue = new ResourceQueue(this.config.getNumQueryThreads(), this.cxn); - } catch (Exception e) { - throw new RuntimeException(e); - } - } + /** + * Preferred constructor, builds scanner factory from configs + * + * @param config + * a {@link GenericQueryConfiguration} + */ + public ScannerFactory(GenericQueryConfiguration config) { + updateConfigs(config); } + /** + * Constructor that accepts a prebuilt AccumuloClient + * + * @param client + * an {@link AccumuloClient} + */ public ScannerFactory(AccumuloClient client) { - this(client, 100); + this(client, DEFAULT_MAX_THREADS); } + /** + * Constructor that accepts a prebuild AccumuloClient and limits the internal result queue to the provided value + * + * @param client + * an {@link AccumuloClient} + * @param queueSize + * the internal result queue size + */ public ScannerFactory(AccumuloClient client, int queueSize) { try { - this.cxn = client; + this.client = client; this.scanQueue = new ResourceQueue(queueSize, client); } catch (Exception e) { throw new RuntimeException(e); } } + /** + * Method that allows a ScannerFactory to be updated by a config after initialization + * + * @param genericConfig + * a {@link GenericQueryConfiguration} + */ + public void updateConfigs(GenericQueryConfiguration genericConfig) { + + this.client = genericConfig.getClient(); + + Map consistencyLevels = genericConfig.getTableConsistencyLevels(); + if (consistencyLevels != null && !consistencyLevels.isEmpty()) { + this.consistencyByTable = genericConfig.getTableConsistencyLevels(); + } + + Map> hints = genericConfig.getTableHints(); + if (hints != null && !hints.isEmpty()) { + this.hintsByTable = genericConfig.getTableHints(); + } + + int numThreads = DEFAULT_MAX_THREADS; + if (genericConfig instanceof ShardQueryConfiguration) { + ShardQueryConfiguration config = (ShardQueryConfiguration) genericConfig; + + this.settings = config.getQuery(); + this.accrueStats = config.getAccrueStats(); + this.maxQueue = config.getMaxScannerBatchSize(); + this.config = config; + + numThreads = config.getNumQueryThreads(); + } + + try { + this.scanQueue = new ResourceQueue(numThreads, this.client); + } catch (Exception e) { + throw new RuntimeException(e); + } + + if (log.isDebugEnabled()) { + log.debug("Created ScannerFactory " + System.identityHashCode(this) + " is wrapped ? " + (client instanceof WrappedConnector)); + } + } + public Scanner newSingleScanner(String tableName, Set auths, Query query) throws TableNotFoundException { if (open.get()) { - Scanner bs = QueryScannerHelper.createScannerWithoutInfo(cxn, tableName, auths, query); + Scanner bs = QueryScannerHelper.createScannerWithoutInfo(client, tableName, auths, query); + applyConfigs(bs, tableName); + log.debug("Created scanner " + System.identityHashCode(bs)); if (log.isTraceEnabled()) { log.trace("Adding instance " + bs.hashCode()); @@ -103,7 +161,9 @@ public Scanner newSingleScanner(String tableName, Set auths, Que public BatchScanner newScanner(String tableName, Set auths, int threads, Query query) throws TableNotFoundException { if (open.get()) { - BatchScanner bs = QueryScannerHelper.createBatchScanner(cxn, tableName, auths, threads, query); + BatchScanner bs = QueryScannerHelper.createBatchScanner(client, tableName, auths, threads, query); + applyConfigs(bs, tableName); + log.debug("Created scanner " + System.identityHashCode(bs)); if (log.isTraceEnabled()) { log.trace("Adding instance " + bs.hashCode()); @@ -124,7 +184,9 @@ public BatchScanner newScanner(String tableName, Set auths, int public BatchScanner newScanner(String tableName, Set auths, int threads, Query query, boolean reportErrors) throws TableNotFoundException { if (open.get()) { - BatchScanner bs = QueryScannerHelper.createBatchScanner(cxn, tableName, auths, threads, query, reportErrors); + BatchScanner bs = QueryScannerHelper.createBatchScanner(client, tableName, auths, threads, query, reportErrors); + applyConfigs(bs, tableName); + log.debug("Created scanner " + System.identityHashCode(bs)); if (log.isTraceEnabled()) { log.trace("Adding instance " + bs.hashCode()); @@ -166,7 +228,6 @@ public BatchScanner newScanner(String tableName, Query query) throws TableNotFou * if there are issues */ public BatchScannerSession newQueryScanner(final String tableName, final Set auths, Query settings) throws Exception { - return newLimitedScanner(BatchScannerSession.class, tableName, auths, settings).setThreads(scanQueue.getCapacity()); } @@ -202,7 +263,7 @@ public T newLimitedScanner(Class wrapper, final St stats = new ScanSessionStats(); } - T session = null; + T session; if (wrapper == ScannerSession.class) { session = (T) new ScannerSession(tableName, auths, scanQueue, maxQueue, settings).applyStats(stats); } else { @@ -210,6 +271,8 @@ public T newLimitedScanner(Class wrapper, final St .newInstance(new ScannerSession(tableName, auths, scanQueue, maxQueue, settings).applyStats(stats)); } + applyConfigs(session, tableName); + log.debug("Created session " + System.identityHashCode(session)); if (log.isTraceEnabled()) { log.trace("Adding instance " + session.hashCode()); @@ -316,24 +379,24 @@ public ScannerBase newRfileScanner(String tableName, Set auths, if (open.get()) { Configuration conf = new Configuration(); - AccumuloClient con = cxn; - - Properties clientProps = con.properties(); + Properties clientProps = client.properties(); final String instanceName = clientProps.getProperty(ClientProperty.INSTANCE_NAME.getKey()); final String zookeepers = clientProps.getProperty(ClientProperty.INSTANCE_ZOOKEEPERS.getKey()); AccumuloHelper.setInstanceName(conf, instanceName); - AccumuloHelper.setUsername(conf, con.whoami()); + AccumuloHelper.setUsername(conf, client.whoami()); AccumuloHelper.setZooKeepers(conf, zookeepers); BulkInputFormat.setZooKeeperInstance(conf, instanceName, zookeepers); AccumuloHelper.setPassword(conf, config.getAccumuloPassword().getBytes()); - BulkInputFormat.setMemoryInput(conf, con.whoami(), config.getAccumuloPassword().getBytes(), tableName, auths.iterator().next()); + BulkInputFormat.setMemoryInput(conf, client.whoami(), config.getAccumuloPassword().getBytes(), tableName, auths.iterator().next()); conf.set(MultiRfileInputformat.CACHE_METADATA, "true"); - ScannerBase baseScanner = new RfileScanner(con, conf, tableName, auths, 1); + ScannerBase baseScanner = new RfileScanner(client, conf, tableName, auths, 1); + + applyConfigs(baseScanner, tableName); synchronized (open) { if (open.get()) { @@ -348,4 +411,44 @@ public ScannerBase newRfileScanner(String tableName, Set auths, throw new IllegalStateException("Factory has been locked. No new scanners can be created."); } } + + /** + * Apply table-specific scanner configs to the provided scanner base object + * + * @param scannerBase + * a {@link ScannerBase} + * @param tableName + * the table + */ + protected void applyConfigs(ScannerBase scannerBase, String tableName) { + if (consistencyByTable != null && consistencyByTable.containsKey(tableName)) { + scannerBase.setConsistencyLevel(consistencyByTable.get(tableName)); + } + + if (hintsByTable != null && hintsByTable.containsKey(tableName)) { + scannerBase.setExecutionHints(hintsByTable.get(tableName)); + } + } + + /** + * Apply table-specific scanner configs to the provided scanner session + * + * @param scannerSession + * the {@link ScannerSession} + * @param tableName + * the table + */ + protected void applyConfigs(ScannerSession scannerSession, String tableName) { + SessionOptions options = scannerSession.getOptions(); + + if (consistencyByTable != null && consistencyByTable.containsKey(tableName)) { + options.setConsistencyLevel(consistencyByTable.get(tableName)); + } + + if (hintsByTable != null && hintsByTable.containsKey(tableName)) { + options.setExecutionHints(hintsByTable.get(tableName)); + } + + scannerSession.setOptions(options); + } } diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/ShardIndexQueryTable.java b/warehouse/query-core/src/main/java/datawave/query/tables/ShardIndexQueryTable.java index d10c7d978de..380447822d7 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/ShardIndexQueryTable.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/ShardIndexQueryTable.java @@ -183,9 +183,11 @@ public void setReverseIndexTableName(String reverseIndexTableName) { @Override public GenericQueryConfiguration initialize(AccumuloClient client, Query settings, Set auths) throws Exception { - this.config = new ShardIndexQueryConfiguration(this, settings); - this.scannerFactory = new ScannerFactory(client); - MetadataHelper metadataHelper = initializeMetadataHelper(client, getConfig().getMetadataTableName(), auths); + ShardIndexQueryConfiguration config = new ShardIndexQueryConfiguration(this, settings); + config.setClient(client); + this.scannerFactory = new ScannerFactory(config); + + MetadataHelper metadataHelper = initializeMetadataHelper(client, config.getMetadataTableName(), auths); if (StringUtils.isEmpty(settings.getQuery())) { throw new IllegalArgumentException("Query cannot be null"); @@ -424,7 +426,6 @@ public void setupQuery(AccumuloClient client, GenericQueryConfiguration baseConf baseConfig.setQueries(checkpoint.getQueries()); config.setClient(client); - scannerFactory = new ScannerFactory(client); MetadataHelper metadataHelper = initializeMetadataHelper(client, config.getMetadataTableName(), config.getAuthorizations()); config.setQueryModel(metadataHelper.getQueryModel(config.getModelTableName(), config.getModelName(), null)); diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/ShardQueryLogic.java b/warehouse/query-core/src/main/java/datawave/query/tables/ShardQueryLogic.java index 13451949d05..4ce5f1c1b8e 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/ShardQueryLogic.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/ShardQueryLogic.java @@ -260,6 +260,14 @@ public static BatchScanner createBatchScanner(ShardQueryConfiguration config, Sc bs.addScanIterator(cfg); } + if (config.getTableConsistencyLevels().containsKey(config.getTableName())) { + bs.setConsistencyLevel(config.getTableConsistencyLevels().get(config.getTableName())); + } + + if (config.getTableHints().containsKey(config.getTableName())) { + bs.setExecutionHints(config.getTableHints().get(config.getTableName())); + } + return bs; } diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/content/ContentQueryLogic.java b/warehouse/query-core/src/main/java/datawave/query/tables/content/ContentQueryLogic.java index 797e240d061..26d48b3a32b 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/content/ContentQueryLogic.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/content/ContentQueryLogic.java @@ -101,11 +101,12 @@ public void close() { @Override public GenericQueryConfiguration initialize(final AccumuloClient client, final Query settings, final Set auths) throws Exception { // Initialize the config and scanner factory - config = new ContentQueryConfiguration(this, settings); - this.scannerFactory = new ScannerFactory(client); + final ContentQueryConfiguration config = new ContentQueryConfiguration(this, settings); config.setClient(client); config.setAuthorizations(auths); + this.scannerFactory = new ScannerFactory(config); + // Re-assign the view name if specified via params Parameter p = settings.findParameter(QueryParameters.CONTENT_VIEW_NAME); if (null != p && !StringUtils.isEmpty(p.getParameterValue())) { diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/edge/EdgeQueryLogic.java b/warehouse/query-core/src/main/java/datawave/query/tables/edge/EdgeQueryLogic.java index f161e326574..432d4eff4e7 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/edge/EdgeQueryLogic.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/edge/EdgeQueryLogic.java @@ -149,9 +149,10 @@ public GenericQueryConfiguration initialize(AccumuloClient client, Query setting } else { config.setQueryString(queryString); } + config.setBeginDate(settings.getBeginDate()); config.setEndDate(settings.getEndDate()); - scannerFactory = new ScannerFactory(client); + scannerFactory = new ScannerFactory(config); prefilterValues = null; EdgeQueryConfiguration.dateType dateFilterType = config.getDateRangeType(); diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/shard/FieldIndexCountQueryLogic.java b/warehouse/query-core/src/main/java/datawave/query/tables/shard/FieldIndexCountQueryLogic.java index 4602dcf3c55..0720f412b09 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/shard/FieldIndexCountQueryLogic.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/shard/FieldIndexCountQueryLogic.java @@ -69,7 +69,6 @@ public GenericQueryConfiguration initialize(AccumuloClient client, Query setting logger.trace("initialize"); } - this.scannerFactory = new ScannerFactory(client); MetadataHelper metadataHelper = prepareMetadataHelper(client, this.getMetadataTableName(), auths); String modelName = this.getModelName(); String modelTableName = this.getModelTableName(); @@ -97,6 +96,8 @@ public GenericQueryConfiguration initialize(AccumuloClient client, Query setting config.setClient(client); config.setAuthorizations(auths); + this.scannerFactory = new ScannerFactory(config); + // the following throw IllegalArgumentExceptions if validation fails. parseQuery(config, settings); configDate(config, settings); diff --git a/warehouse/query-core/src/main/java/datawave/query/tables/ssdeep/SSDeepSimilarityQueryLogic.java b/warehouse/query-core/src/main/java/datawave/query/tables/ssdeep/SSDeepSimilarityQueryLogic.java index eb40a1f4d16..ccc849baa35 100644 --- a/warehouse/query-core/src/main/java/datawave/query/tables/ssdeep/SSDeepSimilarityQueryLogic.java +++ b/warehouse/query-core/src/main/java/datawave/query/tables/ssdeep/SSDeepSimilarityQueryLogic.java @@ -59,12 +59,11 @@ public SSDeepSimilarityQueryConfiguration getConfig() { @Override public GenericQueryConfiguration initialize(AccumuloClient accumuloClient, Query settings, Set auths) throws Exception { - this.scannerFactory = new ScannerFactory(accumuloClient); - final SSDeepSimilarityQueryConfiguration config = getConfig(); config.setQuery(settings); config.setClient(accumuloClient); config.setAuthorizations(auths); + this.scannerFactory = new ScannerFactory(config); setupRanges(settings, config); return config; } diff --git a/warehouse/query-core/src/test/java/datawave/query/ScanConsistencyQueryTest.java b/warehouse/query-core/src/test/java/datawave/query/ScanConsistencyQueryTest.java new file mode 100644 index 00000000000..dda9526009a --- /dev/null +++ b/warehouse/query-core/src/test/java/datawave/query/ScanConsistencyQueryTest.java @@ -0,0 +1,121 @@ +package datawave.query; + +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.UUID; + +import org.apache.accumulo.core.client.ScannerBase; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.BeforeClass; +import org.junit.ClassRule; +import org.junit.Test; + +import com.google.common.collect.Sets; + +import datawave.core.query.configuration.GenericQueryConfiguration; +import datawave.core.query.logic.BaseQueryLogic; +import datawave.helpers.PrintUtility; +import datawave.microservice.query.QueryImpl; +import datawave.query.testframework.AbstractFunctionalQuery; +import datawave.query.testframework.AccumuloSetup; +import datawave.query.testframework.CitiesDataType; +import datawave.query.testframework.CitiesDataType.CityEntry; +import datawave.query.testframework.CitiesDataType.CityField; +import datawave.query.testframework.DataTypeHadoopConfig; +import datawave.query.testframework.FieldConfig; +import datawave.query.testframework.FileType; +import datawave.query.testframework.GenericCityFields; +import datawave.query.testframework.QueryLogicTestHarness; +import datawave.util.TableName; + +/** + * Tests for setting and persisting of scan consistency level + */ +public class ScanConsistencyQueryTest extends AbstractFunctionalQuery { + + @ClassRule + public static AccumuloSetup accumuloSetup = new AccumuloSetup(); + + private static final Logger log = Logger.getLogger(ScanConsistencyQueryTest.class); + + @BeforeClass + public static void filterSetup() throws Exception { + Collection dataTypes = new ArrayList<>(); + FieldConfig generic = new GenericCityFields(); + generic.addIndexField(CityField.NUM.name()); + dataTypes.add(new CitiesDataType(CityEntry.generic, generic)); + + accumuloSetup.setData(FileType.CSV, dataTypes); + Logger.getLogger(PrintUtility.class).setLevel(Level.DEBUG); + client = accumuloSetup.loadTables(log); + } + + public ScanConsistencyQueryTest() { + super(CitiesDataType.getManager()); + } + + @Test + public void testSimpleQuery() throws Exception { + + // for now just assert the consistency level on the final batch scanner + Map consistencyLevels = new HashMap<>(); + consistencyLevels.put(TableName.SHARD, ScannerBase.ConsistencyLevel.EVENTUAL); + logic.setTableConsistencyLevels(consistencyLevels); + + String query = "CITY == 'london'"; + Set expected = Sets.newHashSet("ldn-usa-mi-10", "ldn-uk-7", "ldn-fra-lle-11", "ldn-usa-oh-8", "ldn-usa-mo-8"); + runTest(query, expected); + } + + @Override + protected void runTestQuery(Collection expected, String queryStr, Date startDate, Date endDate, Map options, + List checkers, Set authSet) throws Exception { + + if (authSet == null || authSet.isEmpty()) { + authSet = this.authSet; + } + + QueryImpl q = new QueryImpl(); + q.setBeginDate(startDate); + q.setEndDate(endDate); + q.setQuery(queryStr); + q.setParameters(options); + + q.setId(UUID.randomUUID()); + q.setPagesize(Integer.MAX_VALUE); + q.setQueryAuthorizations(auths.toString()); + + GenericQueryConfiguration config = this.logic.initialize(client, q, authSet); + config.setTableConsistencyLevels(Collections.singletonMap(TableName.SHARD, ScannerBase.ConsistencyLevel.IMMEDIATE)); + + this.logic.setupQuery(config); + + assertScannerConsistency(this.logic); + } + + public void assertScannerConsistency(BaseQueryLogic> logic) { + Map expected = Collections.singletonMap(TableName.SHARD, ScannerBase.ConsistencyLevel.IMMEDIATE); + assertEquals(expected, logic.getConfig().getTableConsistencyLevels()); + assertEquals(expected, logic.getTableConsistencyLevels()); + } + + // ============================================ + // implemented abstract methods + protected void testInit() { + this.auths = CitiesDataType.getTestAuths(); + this.documentKey = CityField.EVENT_ID.name(); + } +} diff --git a/warehouse/query-core/src/test/java/datawave/query/config/ShardQueryConfigurationTest.java b/warehouse/query-core/src/test/java/datawave/query/config/ShardQueryConfigurationTest.java index f1f22b30725..895a2cbae9f 100644 --- a/warehouse/query-core/src/test/java/datawave/query/config/ShardQueryConfigurationTest.java +++ b/warehouse/query-core/src/test/java/datawave/query/config/ShardQueryConfigurationTest.java @@ -12,6 +12,7 @@ import java.util.Set; import java.util.function.Predicate; +import org.apache.accumulo.core.client.ScannerBase; import org.apache.accumulo.core.security.Authorizations; import org.junit.Assert; import org.junit.Before; @@ -580,6 +581,10 @@ public void setUp() throws Exception { updatedValues.put("sortQueryBeforeGlobalIndex", true); defaultValues.put("sortQueryByCounts", false); updatedValues.put("sortQueryByCounts", true); + defaultValues.put("tableConsistencyLevels", Collections.emptyMap()); + updatedValues.put("tableConsistencyLevels", Collections.singletonMap(TableName.SHARD, ScannerBase.ConsistencyLevel.EVENTUAL)); + defaultValues.put("tableHints", Collections.emptyMap()); + updatedValues.put("tableHints", Collections.emptyMap()); } private Query createQuery(String query) { diff --git a/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamQueryTest.java b/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamQueryTest.java index 36d36a95d45..3f25e103f88 100644 --- a/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamQueryTest.java +++ b/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamQueryTest.java @@ -383,7 +383,8 @@ private void test(String query, String expected, QUERY_CONTEXT queryContext, TER // Run a standard limited-scanner range stream. count++; - rangeStream = new RangeStream(config, new ScannerFactory(config.getClient(), 1), helper); + ScannerFactory scannerFactory = new ScannerFactory(config); + rangeStream = new RangeStream(config, scannerFactory, helper); rangeStream.setLimitScanners(true); script = JexlASTHelper.parseAndFlattenJexlQuery(query); diff --git a/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTest.java b/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTest.java index 637018c0053..b2c59176dc9 100644 --- a/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTest.java +++ b/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTest.java @@ -51,6 +51,7 @@ import datawave.query.jexl.visitors.JexlStringBuildingVisitor; import datawave.query.planner.QueryPlan; import datawave.query.tables.ScannerFactory; +import datawave.query.util.MetadataHelper; import datawave.query.util.MockMetadataHelper; import datawave.query.util.Tuple2; import datawave.test.JexlNodeAssert; @@ -443,7 +444,7 @@ public void testTheSimplestOfQueries() throws Exception { helper.setIndexedFields(dataTypes.keySet()); Set expectedRanges = Sets.newHashSet(makeTestRange("20190314", "datatype1\u0000234"), makeTestRange("20190314", "datatype1\u0000345")); - for (QueryPlan queryPlan : new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script)) { + for (QueryPlan queryPlan : getRangeStream(helper).streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range from expected ranges: " + range.toString(), expectedRanges.remove(range)); } @@ -470,7 +471,7 @@ public void testShardAndDaysHint() throws Exception { helper.setIndexedFields(dataTypes.keySet()); Set expectedRanges = Sets.newHashSet(makeShardedRange("20190314_1")); - for (QueryPlan queryPlan : new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script)) { + for (QueryPlan queryPlan : getRangeStream(helper).streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges, expectedRanges.remove(range)); } @@ -499,7 +500,7 @@ public void testShardAndDaysHints(String originalQuery) throws Exception { expectedRanges.add(makeShardedRange(shard)); } - for (QueryPlan queryPlan : new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script)) { + for (QueryPlan queryPlan : getRangeStream(helper).streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges, expectedRanges.remove(range)); } @@ -558,7 +559,7 @@ public void testShardAndDaysHints6() throws Exception { Set expectedRanges = Sets.newHashSet(makeShardedRange("20190314_1")); - for (QueryPlan queryPlan : new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script)) { + for (QueryPlan queryPlan : getRangeStream(helper).streamPlans(script)) { // verify the query plan dropped no terms JexlNode queryTree = JexlASTHelper.parseJexlQuery(queryPlan.getQueryString()); JexlNode expectedTree = JexlASTHelper.parseJexlQuery( @@ -596,7 +597,7 @@ public void testOrBothIndexed() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Range range3 = makeTestRange("20190314", "datatype1\u0000123"); Set expectedRanges = Sets.newHashSet(range1, range2, range3); - for (QueryPlan queryPlan : new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script)) { + for (QueryPlan queryPlan : getRangeStream(helper).streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), expectedRanges.remove(range)); @@ -628,7 +629,7 @@ public void testNestedOr() throws Exception { Range range3 = makeTestRange("20190314", "datatype1\u0000123"); Set expectedRanges = Sets.newHashSet(range1, range2, range3); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient(), 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { @@ -663,7 +664,7 @@ public void testBothIndexedPrune() throws Exception { Range range4 = makeTestRange("20190414_1", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2, range3, range4); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient(), 1), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -692,7 +693,7 @@ public void testOrOneFieldIndexed() throws Exception { helper.setIndexedFields(dataTypes.keySet()); helper.addFields(ImmutableSet.of("TACO")); - assertFalse(new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script).iterator().hasNext()); + assertFalse(getRangeStream(helper).streamPlans(script).iterator().hasNext()); } @Test @@ -713,7 +714,7 @@ public void testOrNoFieldIndexed() throws Exception { MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - assertFalse(new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script).iterator().hasNext()); + assertFalse(getRangeStream(helper).streamPlans(script).iterator().hasNext()); } @Test @@ -734,7 +735,7 @@ public void testAndTwoFieldsIndexed() throws Exception { MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - assertFalse(new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script).iterator().hasNext()); + assertFalse(getRangeStream(helper).streamPlans(script).iterator().hasNext()); } @Test @@ -760,7 +761,7 @@ public void testAndOneFieldIndexed() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper); + RangeStream rangeStream = getRangeStream(helper); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -788,7 +789,7 @@ public void testAndNoFieldIndexed() throws Exception { MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - assertFalse(new RangeStream(config, new ScannerFactory(config.getClient()), helper).streamPlans(script).iterator().hasNext()); + assertFalse(getRangeStream(helper).streamPlans(script).iterator().hasNext()); } @Test @@ -813,7 +814,7 @@ public void testNonIndexedNumeric() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper); + RangeStream rangeStream = getRangeStream(helper); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -840,7 +841,7 @@ public void testGuardAgainstVeryOddlyFormedJexlQueriesLikeFoo() throws Exception MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.UNINDEXED, rangeStream.context()); assertEquals(Collections.emptyIterator(), rangeStream.iterator()); @@ -870,7 +871,7 @@ public void testPrune() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper); + RangeStream rangeStream = getRangeStream(helper); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { assertEquals("FOO == 'bag'", JexlStringBuildingVisitor.buildQuery(queryPlan.getQueryTree())); for (Range range : queryPlan.getRanges()) { @@ -903,7 +904,7 @@ public void testUnIndexedNumericAsString() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper); + RangeStream rangeStream = getRangeStream(helper); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -934,7 +935,7 @@ public void testNegatedIndexWithResults() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -965,7 +966,7 @@ public void testNegatedIndexWithNoResults() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -996,7 +997,7 @@ public void testNegatedNonIndexed() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -1027,7 +1028,7 @@ public void testNegatedIndexWithResultsStandaloneNot() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -1058,7 +1059,7 @@ public void testNegatedIndexWithNoResultsStandaloneNot() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); for (QueryPlan queryPlan : rangeStream.streamPlans(script)) { for (Range range : queryPlan.getRanges()) { assertTrue("Tried to remove unexpected range " + range.toString() + " from expected ranges: " + expectedRanges.toString(), @@ -1096,7 +1097,7 @@ public void testIntersectionOfTwoUnions() throws Exception { Range range2 = makeTestRange("20190314", "datatype1\u0000345"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.VARIABLE, rangeStream.context()); @@ -1131,7 +1132,7 @@ public void testIntersectionOfTwoUnionsAllIndexed() throws Exception { MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); rangeStream.streamPlans(script); // streamPlans(script) to populate the StreamContext. assertEquals(IndexStream.StreamContext.ABSENT, rangeStream.context()); @@ -1155,7 +1156,7 @@ public void testNonExistentFieldInOr() throws Exception { MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); rangeStream.streamPlans(script); // streamPlans(script) to populate the StreamContext. assertFalse(rangeStream.iterator().hasNext()); @@ -1181,7 +1182,7 @@ public void testNonExistentFieldInAnd() throws Exception { MockMetadataHelper helper = new MockMetadataHelper(); helper.setIndexedFields(dataTypes.keySet()); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient()), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); rangeStream.streamPlans(script); // streamPlans(script) to populate the StreamContext. assertFalse(rangeStream.iterator().hasNext()); @@ -1216,7 +1217,7 @@ public void testDropTwoPredicates() throws Exception { expectedRanges.add(makeShardedRange(shard)); } - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(config.getClient(), 1), helper).setLimitScanners(true); + RangeStream rangeStream = getRangeStream(helper).setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); // streamPlans(script) to populate the StreamContext. assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1267,7 +1268,8 @@ public void testIntersection_HighAndLowCardinality_withSeek() throws Exception { Range range3 = makeTestRange("20190315_49", "datatype1\u0000a.b.c"); Set expectedRanges = Sets.newHashSet(range1, range2, range3); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + ScannerFactory scannerFactory = new ScannerFactory(config); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1309,7 +1311,7 @@ public void testIntersection_NestedUnionOfHighCardinalityTerm_withSeek() throws Range range3 = makeTestRange("20190315_49", "datatype1\u0000a.b.c"); Set expectedRanges = Sets.newHashSet(range1, range2, range3); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1353,7 +1355,7 @@ public void testIntersection_NestedUnionOfLowCardinalityTerm_withSeek() throws E Range range6 = makeTestRange("20190317_1", "datatype1\u0000a.b.c"); Set expectedRanges = Sets.newHashSet(range1, range2, range3, range4, range5, range6); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1400,7 +1402,7 @@ public void testUnion_HighCardWithNestedIntersectionOfLowCardTerms_withSeek() th expectedRanges.add(makeTestRange("20190315_33", "datatype1\u0000a.b.c")); expectedRanges.add(makeTestRange("20190317_1", "datatype1\u0000a.b.c")); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1444,7 +1446,7 @@ public void testUnion_OfTwoNestedIntersections_LeftLowCardTerms_withSeek() throw } } - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1489,7 +1491,7 @@ public void testIntersection_OfTwoNestedUnions_LeftLowCardTerms_withSeek() throw Range range6 = makeTestRange("20190317_1", "datatype1\u0000a.b.c"); Set expectedRanges = Sets.newHashSet(range1, range2, range3, range4, range5, range6); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1531,7 +1533,7 @@ public void testIntersection_ofDayRangesAndShardRange() throws Exception { Range range2 = makeShardedRange("20190315_51"); Set expectedRanges = Sets.newHashSet(range1, range2); - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + RangeStream rangeStream = getRangeStream(helper); rangeStream.setLimitScanners(true); CloseableIterable queryPlans = rangeStream.streamPlans(script); assertEquals(IndexStream.StreamContext.PRESENT, rangeStream.context()); @@ -1543,4 +1545,9 @@ public void testIntersection_ofDayRangesAndShardRange() throws Exception { } assertTrue("Expected ranges not found in query plan: " + expectedRanges, expectedRanges.isEmpty()); } + + private RangeStream getRangeStream(MetadataHelper helper) { + ScannerFactory scannerFactory = new ScannerFactory(config); + return new RangeStream(config, scannerFactory, helper); + } } diff --git a/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTestX.java b/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTestX.java index bd7241b8c6e..8062325300d 100644 --- a/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTestX.java +++ b/warehouse/query-core/src/test/java/datawave/query/index/lookup/RangeStreamTestX.java @@ -375,6 +375,7 @@ private static Value buildValueForDay() { public void setupTest() { config = new ShardQueryConfiguration(); config.setShardsPerDayThreshold(20); + config.setClient(client); } // A && B @@ -3294,12 +3295,13 @@ private void runTest(String query, List expectedRanges, List expe helper.setIndexedFields(dataTypes.keySet()); // Run a standard limited-scanner range stream. - RangeStream rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + ScannerFactory scannerFactory = new ScannerFactory(config); + RangeStream rangeStream = new RangeStream(config, scannerFactory, helper); rangeStream.setLimitScanners(true); runTest(rangeStream, script, expectedRanges, expectedQueries); // Run a default range stream. - rangeStream = new RangeStream(config, new ScannerFactory(client, 1), helper); + rangeStream = new RangeStream(config, scannerFactory, helper); rangeStream.setLimitScanners(false); runTest(rangeStream, script, expectedRanges, expectedQueries); diff --git a/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/UnfieldedIndexExpansionVisitorTest.java b/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/UnfieldedIndexExpansionVisitorTest.java index 5a89fecd576..c3f3c7eaf2c 100644 --- a/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/UnfieldedIndexExpansionVisitorTest.java +++ b/warehouse/query-core/src/test/java/datawave/query/jexl/visitors/UnfieldedIndexExpansionVisitorTest.java @@ -219,7 +219,7 @@ public void testSingleTermMatchesWithExpansionFields() { String expected = "FIELD1 == 'burrito' || FIELD2 == 'burrito'"; ASTJexlScript script = JexlASTHelper.parseJexlQuery(query); - ScannerFactory scannerFactory = new ScannerFactory(config.getClient()); + ScannerFactory scannerFactory = new ScannerFactory(config); metadataHelper.addExpansionFields(ImmutableSet.of("FIELD1", "FIELD2")); ASTJexlScript fixed = UnfieldedIndexExpansionVisitor.expandUnfielded(config, scannerFactory, metadataHelper, script); @@ -243,7 +243,7 @@ public void testSingleTermMatchesWithMisMatchedExpansionFields() { String expected = "_NOFIELD_ == 'burrito'"; ASTJexlScript script = JexlASTHelper.parseJexlQuery(query); - ScannerFactory scannerFactory = new ScannerFactory(config.getClient()); + ScannerFactory scannerFactory = new ScannerFactory(config); metadataHelper.addExpansionFields(ImmutableSet.of("FOOBAR")); ASTJexlScript fixed = UnfieldedIndexExpansionVisitor.expandUnfielded(config, scannerFactory, metadataHelper, script); @@ -369,7 +369,7 @@ public void testNegatedLeadingRegexExpansionRestrictedByExpansionFields() { String expected = "(_ANYFIELD_ !~ '.*?ly' && FIELD8 != 'fearfully' && FIELD9 != 'wonderfully')"; ASTJexlScript script = JexlASTHelper.parseJexlQuery(query); - ScannerFactory scannerFactory = new ScannerFactory(config.getClient()); + ScannerFactory scannerFactory = new ScannerFactory(config); metadataHelper.addExpansionFields(ImmutableSet.of("FIELD8", "FIELD9")); ASTJexlScript fixed = UnfieldedIndexExpansionVisitor.expandUnfielded(config, scannerFactory, metadataHelper, script); @@ -428,7 +428,7 @@ public void test(String query, String expected, ShardQueryConfiguration config) // throw exception to assert failure cases, such as CannotExpandUnfieldedTermFatalException public void test(String query, String expected, ShardQueryConfiguration config, MockMetadataHelper metadataHelper) throws Exception { ASTJexlScript script = JexlASTHelper.parseJexlQuery(query); - ScannerFactory scannerFactory = new ScannerFactory(config.getClient()); + ScannerFactory scannerFactory = new ScannerFactory(config); ASTJexlScript fixed = UnfieldedIndexExpansionVisitor.expandUnfielded(config, scannerFactory, metadataHelper, script); // assert and validate diff --git a/warehouse/query-core/src/test/java/datawave/query/tables/RangeStreamScannerTest.java b/warehouse/query-core/src/test/java/datawave/query/tables/RangeStreamScannerTest.java index b16f60393b9..a935f250460 100644 --- a/warehouse/query-core/src/test/java/datawave/query/tables/RangeStreamScannerTest.java +++ b/warehouse/query-core/src/test/java/datawave/query/tables/RangeStreamScannerTest.java @@ -105,8 +105,6 @@ public static void beforeClass() throws Exception { client = new InMemoryAccumuloClient("", instance); client.tableOperations().create(SHARD_INDEX); - scannerFactory = new ScannerFactory(client, 1); - BatchWriterConfig bwConfig = new BatchWriterConfig().setMaxMemory(1024L).setMaxLatency(1, TimeUnit.SECONDS).setMaxWriteThreads(1); BatchWriter bw = client.createBatchWriter(SHARD_INDEX, bwConfig); @@ -169,6 +167,9 @@ public static void beforeClass() throws Exception { config.setQueryFieldsDatatypes(dataTypes); config.setIndexedFields(dataTypes); + + config.setClient(client); + scannerFactory = new ScannerFactory(config); } // Helper method largely copied from RangeStream class. @@ -368,7 +369,7 @@ public void testExceedShardsPerDayThresholdAndDocumentsPerShardThreshold() throw @Test public void testGetDay() throws Exception { // Build RangeStreamScanner - ScannerFactory scanners = new ScannerFactory(client, 1); + ScannerFactory scanners = new ScannerFactory(config); RangeStreamScanner rangeStreamScanner = scanners.newRangeScanner(config.getIndexTableName(), config.getAuthorizations(), config.getQuery(), config.getShardsPerDayThreshold()); diff --git a/warehouse/query-core/src/test/java/datawave/query/tables/ScannerFactoryTest.java b/warehouse/query-core/src/test/java/datawave/query/tables/ScannerFactoryTest.java new file mode 100644 index 00000000000..499773360b9 --- /dev/null +++ b/warehouse/query-core/src/test/java/datawave/query/tables/ScannerFactoryTest.java @@ -0,0 +1,232 @@ +package datawave.query.tables; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +import org.apache.accumulo.core.client.AccumuloClient; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.BatchScanner; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.ScannerBase; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.conf.ClientProperty; +import org.apache.accumulo.core.security.Authorizations; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import datawave.accumulo.inmemory.InMemoryAccumuloClient; +import datawave.accumulo.inmemory.InMemoryInstance; +import datawave.microservice.query.Query; +import datawave.microservice.query.QueryImpl; +import datawave.query.config.ShardQueryConfiguration; +import datawave.util.TableName; + +class ScannerFactoryTest { + + private static final InMemoryInstance instance = new InMemoryInstance(ScannerFactoryTest.class.getSimpleName()); + private static ScannerFactory scannerFactory; + private static final ShardQueryConfiguration config = new ShardQueryConfiguration(); + + @BeforeAll + public static void before() throws Exception { + AccumuloClient client = new MyAccumuloClient("", instance); + config.setClient(client); + scannerFactory = new ScannerFactory(config); + + client.tableOperations().create(TableName.SHARD); + client.instanceOperations().setProperty("accumulo.instance.name", "required-for-tests"); + } + + @BeforeEach + public void setup() { + Map consistencyLevels = new HashMap<>(); + consistencyLevels.put(TableName.SHARD, ScannerBase.ConsistencyLevel.IMMEDIATE); + config.setTableConsistencyLevels(consistencyLevels); + scannerFactory.updateConfigs(config); + } + + @Test + void testSingleScannerWithTableNameAuthsQuery() throws TableNotFoundException { + Scanner scanner = scannerFactory.newSingleScanner(TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newSingleScanner(TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testSingleScannerWithTableNameAuthsThreadsQuery() throws TableNotFoundException { + BatchScanner scanner = scannerFactory.newScanner(TableName.SHARD, getAuths(), 1, getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newScanner(TableName.SHARD, getAuths(), 1, getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testSingleScannerWithTableNameAuthsThreadsQueryReportErrors() throws TableNotFoundException { + BatchScanner scanner = scannerFactory.newScanner(TableName.SHARD, getAuths(), 1, getQuery(), true); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newScanner(TableName.SHARD, getAuths(), 1, getQuery(), true); + assertEventualConsistency(scanner); + } + + @Test + void testScannerWithAuthsQuery() throws TableNotFoundException { + BatchScanner scanner = scannerFactory.newScanner(TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newScanner(TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testScannerWithQuery() throws TableNotFoundException { + BatchScanner scanner = scannerFactory.newScanner(TableName.SHARD, getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newScanner(TableName.SHARD, getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testQueryScannerWithAuthsQuery() throws Exception { + BatchScannerSession scanner = scannerFactory.newQueryScanner(TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newQueryScanner(TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testLimitedScannerAsAnyFieldScanner() throws Exception { + AnyFieldScanner scanner = scannerFactory.newLimitedScanner(AnyFieldScanner.class, TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newLimitedScanner(AnyFieldScanner.class, TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testLimitedScannerAsRangeStreamScanner() throws Exception { + RangeStreamScanner scanner = scannerFactory.newLimitedScanner(RangeStreamScanner.class, TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newLimitedScanner(RangeStreamScanner.class, TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testLimitedScannerAsBatchScannerSession() throws Exception { + BatchScannerSession scanner = scannerFactory.newLimitedScanner(BatchScannerSession.class, TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newLimitedScanner(BatchScannerSession.class, TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testRangeScannerWithAuthsQuery() throws Exception { + RangeStreamScanner scanner = scannerFactory.newRangeScanner(TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newRangeScanner(TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + @Test + void testRangeScannerWithAuthsQueryThreshold() throws Exception { + RangeStreamScanner scanner = scannerFactory.newRangeScanner(TableName.SHARD, getAuths(), getQuery(), 123); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newRangeScanner(TableName.SHARD, getAuths(), getQuery(), 123); + assertEventualConsistency(scanner); + } + + @Test + void testRFileScanner() { + ScannerBase scanner = scannerFactory.newRfileScanner(TableName.SHARD, getAuths(), getQuery()); + assertImmediateConsistency(scanner); + + setEventualConsistency(); + scanner = scannerFactory.newRfileScanner(TableName.SHARD, getAuths(), getQuery()); + assertEventualConsistency(scanner); + } + + private void setEventualConsistency() { + Map consistencyLevels = new HashMap<>(); + consistencyLevels.put(TableName.SHARD, ScannerBase.ConsistencyLevel.EVENTUAL); + config.setTableConsistencyLevels(consistencyLevels); + scannerFactory.updateConfigs(config); + } + + private void assertEventualConsistency(Scanner scanner) { + assertEquals(ScannerBase.ConsistencyLevel.EVENTUAL, scanner.getConsistencyLevel()); + } + + private void assertEventualConsistency(ScannerBase scanner) { + assertEquals(ScannerBase.ConsistencyLevel.EVENTUAL, scanner.getConsistencyLevel()); + } + + private void assertEventualConsistency(ScannerSession session) { + assertEquals(ScannerBase.ConsistencyLevel.EVENTUAL, session.getOptions().getConsistencyLevel()); + } + + private void assertImmediateConsistency(Scanner scanner) { + assertEquals(ScannerBase.ConsistencyLevel.IMMEDIATE, scanner.getConsistencyLevel()); + } + + private void assertImmediateConsistency(ScannerBase scanner) { + assertEquals(ScannerBase.ConsistencyLevel.IMMEDIATE, scanner.getConsistencyLevel()); + } + + private void assertImmediateConsistency(ScannerSession session) { + assertEquals(ScannerBase.ConsistencyLevel.IMMEDIATE, session.getOptions().getConsistencyLevel()); + } + + private Query getQuery() { + return new QueryImpl(); + } + + private Set getAuths() { + return Collections.singleton(new Authorizations()); + } + + /** + * The RFileScanner factory method requires two client properties to be set. The InMemoryAccumuloClient does not support setting these properties, or any + * properties so to fully test the ScannerFactory we must override the {@link InMemoryAccumuloClient#properties()} method. + */ + static class MyAccumuloClient extends InMemoryAccumuloClient { + + public MyAccumuloClient(String username, InMemoryInstance instance) throws AccumuloSecurityException { + super(username, instance); + } + + @Override + public Properties properties() { + Properties props = new Properties(); + props.put(ClientProperty.INSTANCE_NAME.getKey(), "for-testing"); + props.put(ClientProperty.INSTANCE_ZOOKEEPERS.getKey(), "for-testing"); + return props; + } + } + +} diff --git a/warehouse/query-core/src/test/java/datawave/query/testframework/AbstractFunctionalQuery.java b/warehouse/query-core/src/test/java/datawave/query/testframework/AbstractFunctionalQuery.java index 46a2c1a8384..f14173ff0fb 100644 --- a/warehouse/query-core/src/test/java/datawave/query/testframework/AbstractFunctionalQuery.java +++ b/warehouse/query-core/src/test/java/datawave/query/testframework/AbstractFunctionalQuery.java @@ -154,7 +154,7 @@ public enum TestCities { protected QueryLogicTestHarness testHarness; protected DatawavePrincipal principal; - private final Set authSet = new HashSet<>(); + protected final Set authSet = new HashSet<>(); protected AbstractFunctionalQuery(final RawDataManager mgr) { this.dataManager = mgr; diff --git a/web-services/query/src/test/java/datawave/webservice/query/configuration/TestBaseQueryLogic.java b/web-services/query/src/test/java/datawave/webservice/query/configuration/TestBaseQueryLogic.java index e903fbdd148..d806dae0316 100644 --- a/web-services/query/src/test/java/datawave/webservice/query/configuration/TestBaseQueryLogic.java +++ b/web-services/query/src/test/java/datawave/webservice/query/configuration/TestBaseQueryLogic.java @@ -82,6 +82,8 @@ public void testConstructor_Copy() throws Exception { expect(config.getClient()).andReturn(null).anyTimes(); expect(config.getQueries()).andReturn(Collections.emptyList()).anyTimes(); expect(config.getQueriesIter()).andReturn(Collections.emptyIterator()).anyTimes(); + expect(config.getTableConsistencyLevels()).andReturn(Collections.emptyMap()).anyTimes(); + expect(config.getTableHints()).andReturn(Collections.emptyMap()).anyTimes(); expect(this.copy.getConfig()).andReturn(config).anyTimes(); // Run the test