Skip to content

CALCITE-7715 Remove HttpCore Timeout from BuiltInConnectionProperty - #318

Merged
mihaibudiu merged 1 commit into
apache:mainfrom
exceptionfactory:CALCITE-7715
Aug 13, 2026
Merged

CALCITE-7715 Remove HttpCore Timeout from BuiltInConnectionProperty#318
mihaibudiu merged 1 commit into
apache:mainfrom
exceptionfactory:CALCITE-7715

Conversation

@exceptionfactory

Copy link
Copy Markdown
Contributor

CALCITE-7715 Removes the HttpCore 5 Timeout class reference from the BuiltInConnectionProperty classes and replaces it with the equivalent number of milliseconds to set the default Connection and Response Timeout properties.

This change keeps references to HttpCore and HttpClient 5 localized to the Avatica Remote Client classes. With this change, integrating projects that do not need to perform remote HTTP operations with Calcite Avatica can exclude the HttpComponent dependencies without any issues at runtime.

@mihaibudiu

Copy link
Copy Markdown
Contributor

Can't you also remove the unused dependency?

@mihaibudiu

Copy link
Copy Markdown
Contributor

BTW: In our project we use Calcite but not Avatica connections, and excluding the http components explicitly in the Java build worked just fine, even without this change.

@exceptionfactory

Copy link
Copy Markdown
Contributor Author

Can't you also remove the unused dependency?

Thanks for asking. The dependency itself is still required, so an intermediate step could be to mark the HTTP Components dependencies as optional, but that would require consuming projects to explicitly include them, instead of explicitly exclude them.

@mihaibudiu

Copy link
Copy Markdown
Contributor

In this case I am not sure that this change matches the justification in JIRA. As I said, if you don't use http, you can actually remove the dependencies already.

@exceptionfactory

Copy link
Copy Markdown
Contributor Author

In this case I am not sure that this change matches the justification in JIRA. As I said, if you don't use http, you can actually remove the dependencies already.

The change is required for excluding those dependencies because BuiltInConnectionProperty is referenced when loading standard Driver and UnregisteredDriver classes, so the reference to Timeout causes class reference issues at runtime. Removing this reference enables the runtime exclusion strategy, and should also provide the foundation for future potential improvements along these lines.

@exceptionfactory

Copy link
Copy Markdown
Contributor Author

Thanks for the review and feedback @mihaibudiu!

@mihaibudiu
mihaibudiu merged commit 4fe9e6a into apache:main Aug 13, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants