Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/query microservices #3

Merged
merged 207 commits into from May 20, 2024
Merged
Show file tree
Hide file tree
Changes from 200 commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
60ac471
WIP: Working on enabling QueryLogicFactory configuration via spring p…
jwomeara Apr 23, 2021
ba6f374
WIP: Trying to get QueryLogicFactory configured and working correctly…
jwomeara Apr 26, 2021
6608ad1
WIP: Got QueryLogicFactory working in the spring boot datawave query …
jwomeara Apr 28, 2021
29ae316
Got the define call working for the query service.
jwomeara Apr 28, 2021
7434a81
Fixed a javax validation api issue and starter pulling classes out of…
jwomeara Apr 30, 2021
c915e18
minor fixes
jwomeara May 6, 2021
0c3b09f
Added query service event handler and continued to work on next, clos…
jwomeara May 12, 2021
ba49829
Removed the query lock manager since we now have locking coupled with…
ivakegg May 14, 2021
bb3f07d
Added the query cache to the query starter. Created an initial direc…
ivakegg May 14, 2021
435f8a6
Various updates:
jwomeara May 18, 2021
70a74c9
Reworked some of the conditional annotations for query storage, and u…
jwomeara May 19, 2021
88a5b1a
Almost have a test working for the query executor. Removed the DEFIN…
ivakegg May 28, 2021
d4dfc2f
Working test cases for the query executor
ivakegg Jun 2, 2021
6fc7903
Fleshed out the query monitoring logic and added additional query req…
jwomeara Jun 3, 2021
ba4e52a
Updated the query executor to use a thread pool, and to handle QueryR…
ivakegg Jun 4, 2021
950f2b6
Refactored the query storage to be in the query starter instead
ivakegg Jun 11, 2021
3ac8a1a
Removed the TaskNotification in lieu of the QueryRequest. Changed qu…
ivakegg Jun 11, 2021
b0eae16
Adjusted dependencies to get embedded kafka tests working again.
jwomeara Jun 14, 2021
df53812
Added query service tests for define and create
jwomeara Jun 17, 2021
80aa297
Updated next call logic to be able to determine when all results have…
jwomeara Jun 17, 2021
caf9e64
Working on testing the next call for the query service.
jwomeara Jun 17, 2021
daba29a
Updated to encorporate consumer acknowledgements for the results
ivakegg Jun 25, 2021
a27ddcd
Updated to generate results if numConcurrentNextCalls>0 when a query …
ivakegg Jun 25, 2021
6d74264
Working query executor tests
ivakegg Jul 16, 2021
3f8f7cf
Added query service tests for next, cancel, close, and reset.
jwomeara Jul 30, 2021
9413697
Incorporated the new query metrics api into the query service.
jwomeara Aug 6, 2021
3ffb3f2
Disabled the query metrics client for tests which don't run as web ap…
jwomeara Aug 6, 2021
8733b70
Updated some of the json results serialization.
ivakegg Aug 12, 2021
5eb1a5e
Updated result object to hold only one underlying result.
ivakegg Aug 12, 2021
7a98ac5
Updated the query starter to include a default QueryLogicFactory.xml,…
jwomeara Aug 19, 2021
444182e
Got the query executor running in docker-compose.
jwomeara Aug 25, 2021
3eb6052
Attempting to get the QueryExecutor to listen to the appropriate dest…
ivakegg Sep 1, 2021
0211234
Added updating query metrics in the query executor. Added updated la…
ivakegg Sep 3, 2021
eceab7e
Updated query executor configuration and deployments to be pool-based.
jwomeara Sep 3, 2021
3fec1a0
Fixed service to service communication via spring cloud bus.
jwomeara Sep 7, 2021
21b00aa
Fixed the test configurations
ivakegg Sep 10, 2021
d88524f
Fixed property
ivakegg Sep 10, 2021
78e2b50
Configure to use rabbitmq. Set checkpointable to false to allow quer…
ivakegg Sep 10, 2021
5b01646
Updated the query service to wait for a create event from the executo…
jwomeara Sep 13, 2021
6ab94b6
Refactored the common, query, and connection-pool modules into a sepa…
jwomeara Sep 17, 2021
5fb8437
Moved the remote dictionary services out of datawave-query-core.
jwomeara Sep 22, 2021
0752018
Updated to store the originService in the QueryStatus cache for use b…
ivakegg Sep 22, 2021
7ff7842
Modified task id to be an integer, and updated the task states object…
ivakegg Sep 24, 2021
efeefc4
Changed the query executor to immediately set a task as running once …
ivakegg Sep 27, 2021
c8f9b31
Execute next status in sequence instead of randomly.
ivakegg Sep 29, 2021
dc215d4
Added eror code into the query status, and added looking for a failed…
ivakegg Sep 29, 2021
1f36623
Separated the query cache into query status cache, a task states cach…
ivakegg Sep 29, 2021
13ae2ad
Enabled kafka as the default results queue mechanism.
ivakegg Oct 13, 2021
23d0af2
Updated the Query Request logic to allow for handlers which process s…
jwomeara Oct 21, 2021
cfa2e71
Updates to get this to compile
ivakegg Oct 27, 2021
5f1a63d
Merge branch 'integration' into feature/queryMicroservices
ivakegg Oct 27, 2021
5b108a3
Updated query checkpoints to store the query configuration. Updated …
jwomeara Oct 28, 2021
17afd1f
Updated query starter and docker compose to use query metric service …
jwomeara Nov 4, 2021
40cb7b1
Renamed some of the executor classes to be more understandable.
ivakegg Nov 3, 2021
bdfbd97
delete the topic
ivakegg Nov 3, 2021
c5c801e
bumped the query metrics version to 1.5-SNAPSHOT
jwomeara Nov 5, 2021
3445f97
Added a latch mechanism to acknowledge results correctly.
ivakegg Nov 5, 2021
73075a2
Execute the correct task, and ensure we lock when updating query status
ivakegg Nov 10, 2021
c9b6ad1
Updated executor to indicate when all tasks are generated, and to dis…
jwomeara Nov 11, 2021
97d1d71
Fixed a bug introduced by the last change which caused multiple execu…
jwomeara Nov 12, 2021
8f60145
Reworked some of the messaging logic in order to ensure that the corr…
jwomeara Nov 19, 2021
651d173
Added plan and predict rest endpoints to the query service. Plan is …
jwomeara Nov 22, 2021
97f9bc3
Got the DiscoveryQuery working as checkpointable and noncheckpointable.
ivakegg Nov 19, 2021
a961698
Added a hazelcast query results manager. Added a hazelcast claim che…
jwomeara Nov 24, 2021
b911cbf
Added rest endpoints to retrieve the plan and predictions.
jwomeara Nov 26, 2021
c4720ab
Updated QueryStorageCacheTest to limit application creation to the Qu…
jwomeara Nov 26, 2021
80760ea
Test fixes
jwomeara Nov 26, 2021
5355247
Implemented the query prediction task for the query executor
ivakegg Nov 26, 2021
6160374
Merge remote-tracking branch 'origin/integration' into feature/queryM…
ivakegg Nov 29, 2021
d38da68
Added initial lookupUUID & batchLookupUUID functionality to the query…
jwomeara Dec 12, 2021
ea9cb07
Integration merge required changes
ivakegg Dec 15, 2021
4464ed5
Got content lookups working. Updated base64 decoding logic to avoid …
jwomeara Dec 17, 2021
199091c
Worked through the edge query logic configuration to work with our sp…
ivakegg Dec 22, 2021
4fb6815
Tracking down error handling
ivakegg Dec 22, 2021
81efc12
Added tests for LookupService
jwomeara Dec 29, 2021
201d55b
Updated the edge xmlBeansPath to pull from a unique property instead …
jwomeara Dec 29, 2021
fbb7752
Updated version 3.11-SNAPSHOT
ivakegg Jan 3, 2022
d867967
Completed integration testing of the edge query logics
ivakegg Jan 3, 2022
f0f9c2f
Override the error handling specified in the hazelcast starter
ivakegg Jan 4, 2022
a016f52
Added a caching configurer to insert an error handler
ivakegg Jan 5, 2022
9b34b71
Added a streaming service which can be used to stream query results.
jwomeara Jan 7, 2022
204ad96
Added a streaming query test.
jwomeara Jan 14, 2022
8ff1042
Updated guava to the latest version across the board to fix a hazelca…
jwomeara Jan 20, 2022
76540e7
Updated lookup to pass the right parameters when running a streaming …
jwomeara Jan 21, 2022
044f1f3
Moved the query configuration into the query status object.
ivakegg Jan 12, 2022
771f349
The executor will now startup multiple tasks for a query at once give…
ivakegg Jan 26, 2022
132e1a0
Updated the results task to periodically update the checkpoint as res…
ivakegg Jan 27, 2022
3ab7376
Cleaned up the executor properties, removed some deprecated code
ivakegg Jan 28, 2022
1ba50cd
Updates for spring boot 2.6.3
jwomeara Jan 28, 2022
9ab28b5
Added a thread that will periodically update the QueryTask last updated
ivakegg Jan 28, 2022
0371bbd
Fixed some issues with hanging tests.
jwomeara Feb 2, 2022
949b718
Got checkpointable lookup, content lookup, and composite queries work…
jwomeara Feb 2, 2022
be89be2
Added remaining query logics to QueryLogicFactory.xml - many of which…
jwomeara Feb 4, 2022
ce107c9
Updated the find work monitor to reset orphaned tasks
ivakegg Feb 8, 2022
6329d33
Added a RUNNING query status and changed checks appropriately
ivakegg Feb 9, 2022
f2c0ea9
Revert "Added a RUNNING query status and changed checks appropriately"
ivakegg Feb 9, 2022
9b3f5d4
Updated datawave quickstart to remove the guava jar bundles with accu…
jwomeara Feb 11, 2022
6b5e687
Changed query status constants
ivakegg Feb 10, 2022
e48164a
Updated to not checkpoint the query configuration if the checkpointab…
jwomeara Feb 11, 2022
29c9b50
Created separate stages for the create task
ivakegg Feb 11, 2022
593705e
Working on stress testing the system
ivakegg Feb 18, 2022
90bb607
Made some minor changes to the kafka and rabbitmq result listeners.
jwomeara Feb 24, 2022
eb92c9b
Attempted to clean up exceptions that occur when closing things up.
ivakegg Feb 25, 2022
144038e
Resolved some pom warnings and updated the QueryStorageCacheTest to c…
jwomeara Mar 4, 2022
c3b74e5
Merged in integration: from 3.11 SNAPSHOT to 3.16 SNAPSHOT
ivakegg Mar 9, 2022
e5c6309
Tested edge event, hit hightlights, and term frequency query logics f…
jwomeara Mar 9, 2022
9f2eac4
Tested the query metrics query logic.
jwomeara Mar 10, 2022
57dfffa
Plugged a few holes that were causing unneeded work and periodic stor…
ivakegg Mar 11, 2022
224847d
Added additional script to pound. Made the caches more robust to ext…
ivakegg Mar 18, 2022
2257983
Updated query metric service to lookup query metrics using the query …
jwomeara Mar 24, 2022
6327ae6
Added translate id functionality and rest endpoints.
jwomeara Apr 1, 2022
f5c4036
Merge branch 'integration' into feature/queryMicroservices
ivakegg Apr 20, 2022
d7b4c86
Merge remote-tracking branch 'origin/integration' into feature/queryM…
ivakegg Apr 25, 2022
830cfb9
xml.bind from javax to jakarta
ivakegg Apr 25, 2022
997fbeb
Revert "xml.bind from javax to jakarta"
ivakegg Apr 26, 2022
42582c1
Removed Junit 4 and vintage junit for the query microservices.
jwomeara Apr 29, 2022
81c6b5b
Updated to exclude an unused slf4j binder, and log4j 1.x
jwomeara May 4, 2022
b303940
Created accumulo table cache reload and stats endpoints to the execut…
ivakegg May 4, 2022
d50cac1
Moved the table cache reload endpoints, event handler, and monitor in…
ivakegg May 5, 2022
cc6db10
Updated project layout to combine all services into a single repo, wi…
jwomeara May 12, 2022
a9d8b74
Moved project files to root directory.
jwomeara May 25, 2022
59aaabb
Updated metrics starter to 1.5.4-SNAPSHOT
jwomeara May 31, 2022
4d799ec
Updated to use query-metric 1.5.5-SNAPSHOT
ivakegg Jun 8, 2022
019afd1
Updated datawave version
ivakegg Jun 10, 2022
dbb1ccd
Updated datawave version to 3.26.0-SNAPSHOT
jwomeara Jun 22, 2022
cb7734f
Updated datawave to 3.27.0-SNAPSHOT
jwomeara Jun 24, 2022
6c6e0b8
Added a query client that can be used to remotely execute queries
ivakegg Jul 1, 2022
4eca9a0
Added scm info for the poms
jwomeara Jul 7, 2022
b3975d6
updated datawave to 3.28.0-SNAPSHOT
jwomeara Jul 7, 2022
cbf77c1
moved classes from 'datawave.services' to 'datawave.core' package
jwomeara Jul 8, 2022
ff5710f
Updated query logic factory to accept ProxiedUserDetails
jwomeara Jul 11, 2022
e65b2a3
Moved query client
ivakegg Jul 13, 2022
25a8f4b
Updated datawave version to 3.29.0-SNAPSHOT
jwomeara Jul 18, 2022
a302bb9
Updated package-info.java generation
jwomeara Aug 11, 2022
1d4aea0
Added datawave webservice namespace to pom
jwomeara Aug 11, 2022
d543d34
Updated edge query logic factory configuration
jwomeara Aug 18, 2022
9137cab
removed missing reference
jwomeara Aug 18, 2022
1a01d2a
fixed a typo
jwomeara Aug 18, 2022
c7855a2
Updated datawave version to 3.32.0-SNAPSHOT
jwomeara Sep 12, 2022
9d7248d
Fixed package name for BaseQueryLogic
jwomeara Sep 16, 2022
96786fb
Added the ability to configure the default query planner
jwomeara Oct 17, 2022
f70be2c
Updated to use microservice parent 2.0 and microservice service paren…
jwomeara Oct 17, 2022
491c9ef
Added query logic configuration
jwomeara Oct 21, 2022
a3209f8
Updated the query logic factory configuration to produce a server use…
jwomeara Oct 24, 2022
83a61ea
formatting
jwomeara Oct 24, 2022
27b845f
Fixed a bug with the transform rule properties
jwomeara Nov 2, 2022
6efab7d
various updated for map reduce query service
jwomeara Dec 2, 2022
465633b
Merge remote-tracking branch 'origin/feature/queryMicroservices' into…
jwomeara Dec 5, 2022
56c7e4e
Updated server proxied user details supplier to not be required when …
jwomeara Dec 5, 2022
ec3618d
Added the ability to specify mandatory query syntax as a list in the …
jwomeara Dec 10, 2022
057816c
Added more query logic configuration
jwomeara Dec 12, 2022
86dc6e3
formatting fixes
jwomeara Dec 14, 2022
b31fe2d
Updated spring boot properties.
jwomeara Dec 15, 2022
f506ef1
Renamed ProxiedUserDetails as DatawaveUserDetails and optimized imports
jwomeara Dec 23, 2022
ac1e3c3
Added configuration for the wired query model provider
jwomeara Dec 27, 2022
27bedae
integration/main merge
ivakegg Jan 20, 2023
4202a06
Updated accumulo utils and datawave starter versions.
jwomeara Feb 10, 2023
e700bd3
Updated hazelcast version
jwomeara Feb 10, 2023
1595736
Updated query metric service starter version
jwomeara Feb 13, 2023
269e0c7
merging latest datawave changes
jwomeara Feb 15, 2023
5815704
renamed some configuration classes to stick with the established nami…
jwomeara Mar 3, 2023
c2f55e9
Updated to work with accumulo 2.x
jwomeara Apr 8, 2023
7b44eb7
Updates to get bulk results map reduce query working again.
jwomeara Apr 11, 2023
3ec8eb2
Added some logging
ivakegg Apr 14, 2023
8bb7041
Upped version to 5.3.0-SNAPSHOT
jwomeara May 2, 2023
63b35cc
Updated DefaultQueryLogicFactory to use ProxiedUserDetails
jwomeara May 6, 2023
070109f
Updated datawave to 5.4.0-SNAPSHOT
jwomeara May 6, 2023
85bd817
bumped datawave version.
jwomeara May 12, 2023
bd3e253
Updated the query results publisher and setup the kafka manager to cr…
jwomeara May 19, 2023
9b28e1f
bumped datawave version
jwomeara May 19, 2023
c9cb565
Updated datawave version
jwomeara Jun 23, 2023
1cb2013
updated formatting using impsort plugin
jwomeara Jun 27, 2023
7e3b113
Moved Query, QueryImpl to query-api
jwomeara Aug 7, 2023
04aefd5
Removed unnecessary jackson annotations to address enunciate issues
jwomeara Aug 31, 2023
f45253b
Updated with latest changes from integration
jwomeara Sep 14, 2023
56e5bf4
bumped release version
jwomeara Sep 18, 2023
ee10fbd
bumped microservice service parent version
jwomeara Oct 10, 2023
a5f35c9
Updated versions to use proper semver
jwomeara Oct 20, 2023
225898e
Added admin roles for query and default pool for lookups
jwomeara Nov 16, 2023
a05ab86
Moved server user supplier to datawave starter and put a qualifier on…
jwomeara Nov 22, 2023
b023a3b
Adding support for long running queries
ivakegg Dec 1, 2023
911d711
Removed long running query timeouts and instead record query start time
ivakegg Dec 13, 2023
f853fdd
Updated blacklist to disallowlist
jwomeara Dec 14, 2023
c5aae30
Integrated preInitialize
ivakegg Dec 23, 2023
c58bf33
Added maven repo access token configuration for github actions
jwomeara Jan 24, 2024
e614fa6
Updated lookup UUID to deal with map of query logics
jwomeara Feb 10, 2024
5dfeacb
Updated query status to allow for unique number of max concurrent nex…
jwomeara Feb 13, 2024
55ea1d3
Updated query logic factory to add logic map
jwomeara Mar 6, 2024
906dcfd
Updated EdgeQueryLogicFactory configuration
jwomeara Mar 13, 2024
104e423
Implemented authorization and query federation for the query microser…
jwomeara Mar 18, 2024
db0fd3e
formatting
jwomeara Mar 20, 2024
a49cc68
Updated package names for commons.lang3 classes due to type-utils fix
jwomeara Mar 21, 2024
aa26a1e
Removed infinispan from query starter
jwomeara Apr 8, 2024
71e3749
PR feedback
jwomeara Apr 26, 2024
62e495e
PR feedback
jwomeara Apr 26, 2024
e2faf51
PR feedback
jwomeara Apr 27, 2024
65979f8
PR feedback
jwomeara Apr 29, 2024
949a15d
pr feedback
jwomeara Apr 29, 2024
42fbb1c
PR feedback
jwomeara Apr 29, 2024
7e36c36
PR feedback
jwomeara Apr 30, 2024
034755b
PR feedback
jwomeara May 1, 2024
f41489c
pr feedback
jwomeara May 1, 2024
fe4c815
Review comments: replaced used of SparseBitSet
ivakegg May 1, 2024
243b3c6
pr feedback
jwomeara May 2, 2024
e369a5e
Removed the CachedQueryStatus mechanism
ivakegg May 3, 2024
819b78b
pr feedback
jwomeara May 6, 2024
aa88a61
pr feedback
jwomeara May 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/settings.xml
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">

<interactiveMode/>

<offline/>

<pluginGroups/>

<mirrors/>

<proxies/>

<servers>
<server>
<id>github-datawave</id>
<username>${env.USER_NAME}</username>
<password>${env.ACCESS_TOKEN}</password>
</server>
</servers>
</settings>
16 changes: 11 additions & 5 deletions .github/workflows/tests.yaml
Expand Up @@ -31,11 +31,13 @@ jobs:
${{ runner.os }}-maven-
- name: Format code
run: |
mvn -V -B -e clean formatter:format sortpom:sort -Pautoformat
mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -V -B -e clean formatter:format sortpom:sort -Pautoformat
git status
git diff-index --quiet HEAD || (echo "Error! There are modified files after formatting." && false)
env:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Djava.awt.headless=true"
USER_NAME: ${{ secrets.USER_NAME }}
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}

# Build the code and run the unit/integration tests.
build-and-test:
Expand All @@ -56,9 +58,11 @@ jobs:
${{ runner.os }}-maven-format-
${{ runner.os }}-maven-
- name: Build and Run Unit Tests
run: mvn -V -B -e -Ddist clean verify
run: mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -V -B -e -Ddist clean verify
env:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Djava.awt.headless=true"
USER_NAME: ${{ secrets.USER_NAME }}
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}

# Here's an example of how you'd deploy the image to the github package registry.
# We don't want to do this by default since packages on github cannot be deleted
Expand All @@ -68,11 +72,13 @@ jobs:
# env:
# IMAGE_REGISTRY: "docker.pkg.github.com"
# IMAGE_USERNAME: "NationalSecurityAgency"
# USER_NAME: ${{ secrets.USER_NAME }}
# ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
# run: |
# # Set up env vars
# IMAGE_NAME=$(mvn -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${project.version}' exec:exec)
# IMAGE_PREFIX=$(mvn -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${docker.image.prefix}' exec:exec)
# IMAGE_TAG=$(mvn -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${project.artifactId}' exec:exec)
# IMAGE_NAME=$(mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${project.version}' exec:exec)
# IMAGE_PREFIX=$(mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${docker.image.prefix}' exec:exec)
# IMAGE_TAG=$(mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${project.artifactId}' exec:exec)
# REMOTE_IMAGE_NAME="${IMAGE_REGISTRY}/${IMAGE_USERNAME}/${IMAGE_PREFIX}${IMAGE_NAME}"
# # Log in to the package registry
# echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com --username ${GITHUB_ACTOR} --password-stdin
Expand Down
285 changes: 285 additions & 0 deletions pom.xml
@@ -0,0 +1,285 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>datawave-microservice-service-parent</artifactId>
<version>5.0.0-SNAPSHOT</version>
<relativePath>../../microservice-service-parent/pom.xml</relativePath>
</parent>
<artifactId>spring-boot-starter-datawave-query</artifactId>
<version>1.0.0-SNAPSHOT</version>
<url>https://github.com/NationalSecurityAgency/datawave-spring-boot-starter-query</url>
<licenses>
<license>
<name>The Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:https://github.com/NationalSecurityAgency/datawave-spring-boot-starter-query.git</connection>
<developerConnection>scm:git:git@github.com:NationalSecurityAgency/datawave-spring-boot-starter-query.git</developerConnection>
<tag>HEAD</tag>
<url>https://github.com/NationalSecurityAgency/datawave-spring-boot-starter-query</url>
</scm>
<properties>
<datawave.webservice.namespace>http://webservice.datawave/v1</datawave.webservice.namespace>
<version.datawave>7.0.0-SNAPSHOT</version.datawave>
<version.guava>31.0.1-jre</version.guava>
<version.microservice.hazelcast-client>4.0.0-SNAPSHOT</version.microservice.hazelcast-client>
<version.microservice.starter>4.0.0-SNAPSHOT</version.microservice.starter>
<version.microservice.starter-metadata>3.0.0-SNAPSHOT</version.microservice.starter-metadata>
<version.microservice.starter-metrics>3.0.0-SNAPSHOT</version.microservice.starter-metrics>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${version.guava}</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>SparseBitSet</artifactId>
<version>1.2</version>
jwomeara marked this conversation as resolved.
Show resolved Hide resolved
</dependency>
<dependency>
<groupId>gov.nsa.datawave</groupId>
<artifactId>datawave-query-core</artifactId>
<version>${version.datawave}</version>
<exclusions>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.apache.zookeeper</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.eclipse.jetty</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.jboss.resteasy</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.jboss.spec.javax.annotation</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.jboss.spec.javax.ejb</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.jboss.spec.javax.interceptor</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.jboss.spec.javax.servlet</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.jboss.logging</groupId>
</exclusion>
<exclusion>
<artifactId>jsp-api</artifactId>
<groupId>javax.servlet.jsp</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>junit</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>org.infinispan</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.core</groupId>
<artifactId>datawave-core-map-reduce</artifactId>
<version>${version.datawave}</version>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.core</groupId>
<artifactId>datawave-core-query</artifactId>
<version>${version.datawave}</version>
<exclusions>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>hazelcast-client</artifactId>
<version>${version.microservice.hazelcast-client}</version>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave</artifactId>
<version>${version.microservice.starter}</version>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave-metadata</artifactId>
<version>${version.microservice.starter-metadata}</version>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave-query-metric</artifactId>
<version>${version.microservice.starter-metrics}</version>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave</artifactId>
<version>${version.microservice.starter}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>SparseBitSet</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave</groupId>
<artifactId>datawave-query-core</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.core</groupId>
<artifactId>datawave-core-map-reduce</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.core</groupId>
<artifactId>datawave-core-query</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>hazelcast-client</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave-metadata</artifactId>
</dependency>
<dependency>
<groupId>gov.nsa.datawave.microservice</groupId>
<artifactId>spring-boot-starter-datawave-query-metric</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>github-datawave</id>
<url>https://maven.pkg.github.com/NationalSecurityAgency/datawave</url>
</repository>
</repositories>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>source-templates/**</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-templated-sources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/generated-sources/templated-sources</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/source-templates</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- This was added to ensure that nested test classes are run. -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude />
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/generated-sources/templated-sources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,31 @@
package datawave.microservice.query.config;

import javax.annotation.Nonnegative;
import javax.validation.constraints.NotEmpty;

import org.springframework.validation.annotation.Validated;

@Validated
public class DefaultParameterProperties {
@NotEmpty
private String pool = "unassigned";
@Nonnegative
private int maxConcurrentTasks = 10;

public String getPool() {
return pool;
}

public void setPool(String pool) {
this.pool = pool;
}

public int getMaxConcurrentTasks() {
return maxConcurrentTasks;
}

public void setMaxConcurrentTasks(int maxConcurrentTasks) {
this.maxConcurrentTasks = maxConcurrentTasks;
}

}