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

DRILL-8415: Upgrade Jackson 2.14.3 → 2.16.1 #2866

Merged
merged 3 commits into from
Jan 8, 2024

Conversation

jnturton
Copy link
Contributor

@jnturton jnturton commented Jan 3, 2024

DRILL-8415: Upgrade Jackson 2.14.3 → 2.16.1

Description

The following should be investigated before merging.

There are some security focused enhancements including a new class called StreamReadConstraints. The defaults on StreamReadConstraints are pretty high but it is not inconceivable that some Drill users might need to relax them. Parsing large strings as numbers is sub-quadratic, thus the default limit of 1000 chars or bytes (depending on input context).

When the Drill team consider upgrading to Jackson 2.15 or above, you might also want to consider adding some way for users to configure the StreamReadConstraints.

Documentation

N/A

Testing

Unit tests pass.

@jnturton jnturton self-assigned this Jan 3, 2024
@Lceeba
Copy link

Lceeba commented Jan 3, 2024 via email

@jnturton jnturton marked this pull request as ready for review January 8, 2024 05:09
Copy link
Contributor

@cgivre cgivre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM +1 (Pending CI)

@jnturton
Copy link
Contributor Author

jnturton commented Jan 8, 2024

I starting adding congifuration support for the new StreamReadConstraints, first globally and then just in the JSON reader, but I got stopped by a sense of YAGNI. It's hard to imagine someone who will need something beyond the default values in Jackson and more configuration is more complexity that users must contend with. So my opinion at this point is that we should only add that configurability if someone asks for it...

@cgivre
Copy link
Contributor

cgivre commented Jan 8, 2024

@jnturton This looks good however there is a merge conflict. Can you please resolve so that we can run the CI?

@jnturton
Copy link
Contributor Author

jnturton commented Jan 8, 2024

I haven't rebased this yet in case we decide to squash the WIP commits that were merged into master. Once a decision is made either way this can be rebased and a CI run obtained.

@cgivre cgivre added the backport-to-stable This bug fix is applicable to the latest stable release and should be considered for inclusion there label Jan 8, 2024
@cgivre
Copy link
Contributor

cgivre commented Jan 8, 2024

I haven't rebased this yet in case we decide to squash the WIP commits that were merged into master. Once a decision is made either way this can be rebased and a CI run obtained.

I'm fine with leaving the WIP commits as long as we don't make a habit out of it. It's probably more of a hassle to undo the PR, squash the commits and re-merge them.

@jnturton jnturton merged commit f5fb7f5 into apache:master Jan 8, 2024
0 of 7 checks passed
@jnturton jnturton deleted the 8415-jackson-2.16.1 branch January 8, 2024 12:50
jnturton added a commit to jnturton/drill that referenced this pull request Jan 8, 2024
* Upgrade Jackson 2.14.3 → 2.16.1.
* Do some list sorting in java-exec's drill-module.conf.
* Bump JDBC jar size to 54.5Mb.
paul-rogers pushed a commit that referenced this pull request Jan 8, 2024
* Upgrade Jackson 2.14.3 → 2.16.1.
* Do some list sorting in java-exec's drill-module.conf.
* Bump JDBC jar size to 54.5Mb.
paul-rogers pushed a commit that referenced this pull request Jan 8, 2024
* Upgrade Jackson 2.14.3 → 2.16.1.
* Do some list sorting in java-exec's drill-module.conf.
* Bump JDBC jar size to 54.5Mb.
jnturton added a commit to jnturton/drill that referenced this pull request Jan 23, 2024
* Upgrade Jackson 2.14.3 → 2.16.1.
* Do some list sorting in java-exec's drill-module.conf.
* Bump JDBC jar size to 54.5Mb.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-to-stable This bug fix is applicable to the latest stable release and should be considered for inclusion there dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants