Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUE

Open Beginner friendly
#1,357 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@Arawoof06 is already working on this.

Since Oct 13, 2026.

  • #1358 by @Arawoof06 — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
79/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java
Domain
database, security

Research direction

Find ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean and inspect how it reads property values. Check the existing tests for JDBC connection properties, then add coverage for true, TRUE, True, and 1. Done means all these values enable encryption and the relevant tests pass.

Written by the indexing model from the issue text.

Description

In the Flight SQL JDBC driver, ArrowFlightConnectionConfigImpl.ArrowFlightConnectionProperty.getBoolean compares the property value with:

return valueFromProperties.equals("1") || valueFromProperties.equals("true");

Only the exact lowercase true (or 1) is treated as true. Values coming from the JDBC URL or Properties are not normalized, so a perfectly reasonable value such as useEncryption=TRUE or useEncryption=True is parsed as false.

useEncryption defaults to true and feeds ArrowFlightSqlClientHandler.Builder.withEncryption(...). When it is parsed as false, the driver connects to the server over plaintext gRPC and performs the authentication handshake (username/password, bearer token, or OAuth credentials) over the unencrypted channel. A user who believes they enabled TLS gets a cleartext connection and credential exposure instead.

Most JDBC drivers parse boolean options case-insensitively, so this is surprising and security-relevant. getBoolean should accept true case-insensitively (still honoring 1).

Dominant language
Java
Stars
98
Forks
160
Avg merge
5d 9h
Merged PRs (30d)
26

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/arrow-java

All issues in apache/arrow-java

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.