Skip to content

Improve Property Types - #6487

Draft
Amemeda wants to merge 8 commits into
apache:mainfrom
Amemeda:property-type
Draft

Improve Property Types#6487
Amemeda wants to merge 8 commits into
apache:mainfrom
Amemeda:property-type

Conversation

@Amemeda

@Amemeda Amemeda commented Jul 21, 2026

Copy link
Copy Markdown
Contributor
  • Moved required properties out of ServerConfigCheckRunner.java and into Property.java as a static method that returns a Set of the required properties, added more detailed Javadoc to the method.
  • Added validation for PropertyType.PATH and PropertyType.URI
  • Removed outdated TODO from PropertyType.java

This pr resolves #6112


TODO:

  • Review 46 occurrences of PropertyType.STRING, determine which ones need additional validation

Refer to discussion over property types on pr #5348

@Amemeda
Amemeda marked this pull request as ready for review July 21, 2026 18:03
Comment thread core/src/main/java/org/apache/accumulo/core/conf/Property.java
@Amemeda
Amemeda marked this pull request as draft July 21, 2026 18:04
@Amemeda

Amemeda commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

@kevinrr888 Checking if you are still available for discussion on this issue, Looking for your guidance/opinion over the expected changes

Comment thread core/src/main/java/org/apache/accumulo/core/conf/PropertyType.java Outdated
@Amemeda

Amemeda commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

@ctubbsii Proposal for additional PropertyType.STRING validation:

Found groups of Properties of PropertyType.STRING that could potentially have new PropertyType:

create new PropertyType.PASSWORD (is password unique enough to need its own validation? Can a password be empty/null) for validating a password for these Properties:

  • Property.RPC_SSL_KEYSTORE_PASSWORD
  • Property.RPC_SSL_TRUSTSTORE_PASSWORD
  • Property.MONITOR_SSL_KEYSTOREPASS
  • Property.MONITOR_SSL_KEYPASS
  • Property.MONITOR_SSL_TRUSTSTOREPASS

create new PropertyType.ADDRESS (or IP) for validating if a string is a valid IP format (ex: 0.0.0.0)

  • Property.RPC_PROCESS_ADVERTISE_ADDRESS
  • Property.GENERAL_PROCESS_BIND_ADDRESS
  • Property.RPC_PROCESS_BIND_ADDRESS

Probably unnecessary since it looks like there is a list of enabled protocols server side that the protocol must match. Create new PropertyType.PROTOCOL (what does protocol look like) for validating a protocol for this group of Property:

  • Property.RPC_SSL_CLIENT_PROTOCOL
  • Property.RPC_SSL_ENABLED_PROTOCOLS
  • Property.MONITOR_SSL_INCLUDE_PROTOCOLS

Alternative validation for these Properties that are PropertyType.STRING can be done by creating a new ValidString() method for the PropertyType.STRING. ValidString() can check for the specific string cases mentioned above, and return true for all other strings, currently PropertyType.STRING always returns true to validate any string

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Property types can be improved

2 participants