Skip to content

Conversation

@abhisheknath2011
Copy link
Contributor

@abhisheknath2011 abhisheknath2011 commented Aug 17, 2021

Dear Gobblin maintainers,

Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!

JIRA

Description

  • Here are some details about my PR, including screenshots (if applicable):
  • Upgrade jackson mapper to 2.x
  • Keep jackson mapper 1.x for modules with hive-serde, helix-core library dependency.

Tests

  • My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

  • My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. Body explains "what" and "why", not "how"

ZihanLi58 and others added 5 commits August 5, 2021 16:16
…ith federated Yarn cluster enabled (apache#3345)

* [GOBBLIN-1500]Support gobblin on yarn to be able to run on clusters with robin enabled (WIP)

* address comments

* address comments

* Enable add dynamic property feature in azkabanGobblinYarnAppLauncher
apache#3347)

* Add more comments in IcebergMetadataWriter while reading thru the code base

* Fix unit tests post force the compile-time casting of gmce
…artition fails … (apache#3344)

* dont add a partition if it already exists but the getPartition fails with TException, dont alter a partition if a partition does not exist but the add_partition fails with TException

* add a unit test to verify hive client behavior
…nd kept jackson mapper 1.x for modules with hive, helix library dependency.
@autumnust
Copy link
Contributor

Merging as there's no actual code change and CI passed. Thanks @abhisheknath2011

@autumnust autumnust merged commit aa63229 into apache:avro_1_9 Aug 18, 2021
abhisheknath2011 added a commit to abhisheknath2011/gobblin that referenced this pull request Mar 28, 2022
…nd kept jackson mapper 1.x for modules with hive, helix library dependency. (apache#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.
abhisheknath2011 added a commit to abhisheknath2011/gobblin that referenced this pull request Mar 28, 2022
…nd kept jackson mapper 1.x for modules with hive, helix library dependency. (apache#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.
Will-Lo pushed a commit that referenced this pull request Oct 18, 2022
* [Branch avro_1_9] Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs (#3349)

* Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs.

* Avro 1.9 upgrade compatible change - Replaced guava library import from avro shaded with direct guava libraries

* Applied Gobblin codestyle formatting.

Co-authored-by: Lei <autumnust@users.noreply.github.com>

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency. (#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.

* Changes for upgrade Avro 1.9.2 and leverges hive with avro changes from https://linkedin.jfrog.io/artifactory/gobblin-hive (#3458)

* Use helper-all v0.2.74 to solve issues around default values. (#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* [Branch avro_1_9] Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs (#3349)

* Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs.

* Avro 1.9 upgrade compatible change - Replaced guava library import from avro shaded with direct guava libraries

* Applied Gobblin codestyle formatting.

Co-authored-by: Lei <autumnust@users.noreply.github.com>

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency. (#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.

* Changes for upgrade Avro 1.9.2 and leverges hive with avro changes from https://linkedin.jfrog.io/artifactory/gobblin-hive (#3458)

* Use helper-all v0.2.74 to solve issues around default values. (#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* [Branch avro_1_9] Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs (#3349)

* Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs.

* Avro 1.9 upgrade compatible change - Replaced guava library import from avro shaded with direct guava libraries

* Applied Gobblin codestyle formatting.

Co-authored-by: Lei <autumnust@users.noreply.github.com>

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency. (#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.

* Changes for upgrade Avro 1.9.2 and leverges hive with avro changes from https://linkedin.jfrog.io/artifactory/gobblin-hive (#3458)

* Use helper-all v0.2.74 to solve issues around default values. (#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* Merging apache/gobblin master with avro_1_9

* Use helper-all v0.2.74 to solve issues around default values. (#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* Added deprecated json method using AvroCompatibilityHelper

* Removed unused import and replaced Integer.valueOf with Integer.parseInt

* Exclude com.linkedin.hive dependency from gradle build files similar to org.apache.hive

* Repalce direct avro field creation with AvroCompatibilityHelper.createSchemaField

* Removed extra dependency. Addressed review comment - removed jcenter() repository

* Upgrade AvroCompatHelper version

* Removed the code that are actually moved to AvroHiveTypeUtils.java in the master branch

* Addresssed review comments: replaced getObjectProps/getObjectProp with AvroCompatibilityHelper methods

* Fix for test failure

Co-authored-by: Lei <autumnust@users.noreply.github.com>
Co-authored-by: Sreeram Ramachandran <sramachandran@linkedin.com>
phet pushed a commit to phet/gobblin that referenced this pull request Dec 3, 2022
* [Branch avro_1_9] Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs (apache#3349)

* Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs.

* Avro 1.9 upgrade compatible change - Replaced guava library import from avro shaded with direct guava libraries

* Applied Gobblin codestyle formatting.

Co-authored-by: Lei <autumnust@users.noreply.github.com>

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency. (apache#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.

* Changes for upgrade Avro 1.9.2 and leverges hive with avro changes from https://linkedin.jfrog.io/artifactory/gobblin-hive (apache#3458)

* Use helper-all v0.2.74 to solve issues around default values. (apache#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* [Branch avro_1_9] Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs (apache#3349)

* Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs.

* Avro 1.9 upgrade compatible change - Replaced guava library import from avro shaded with direct guava libraries

* Applied Gobblin codestyle formatting.

Co-authored-by: Lei <autumnust@users.noreply.github.com>

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency. (apache#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.

* Changes for upgrade Avro 1.9.2 and leverges hive with avro changes from https://linkedin.jfrog.io/artifactory/gobblin-hive (apache#3458)

* Use helper-all v0.2.74 to solve issues around default values. (apache#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* [Branch avro_1_9] Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs (apache#3349)

* Avro 1.9 upgrade compatible change - replaced deprecated public APIs with the compatible APIs.

* Avro 1.9 upgrade compatible change - Replaced guava library import from avro shaded with direct guava libraries

* Applied Gobblin codestyle formatting.

Co-authored-by: Lei <autumnust@users.noreply.github.com>

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency. (apache#3368)

* Avro 1.9 upgrade compatible change - upgraded jackson mapper to 2.x and kept jackson mapper 1.x for modules with hive, helix library dependency.

* Changes for upgrade Avro 1.9.2 and leverges hive with avro changes from https://linkedin.jfrog.io/artifactory/gobblin-hive (apache#3458)

* Use helper-all v0.2.74 to solve issues around default values. (apache#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* Merging apache/gobblin master with avro_1_9

* Use helper-all v0.2.74 to solve issues around default values. (apache#3469)

The latest version of helper-all fixes the issues seen before w.r.t.
default values, so we can now revert the code and the *.avsc files back
to how they used to be, with two minor exceptions:

1. Check Schema equality using their .toString() representations. Doing
   it the old way works for two out of the three instances, but one of
   them fails, for reasons I haven't figured out yet.

2. Add a `"default":null` piece to recursive_schema_1_converted.avsc.
   This is harmless, and is caused by the fact that the compatibility
   helper always adds it if it's a valid default for the schema. See
   the comments for FieldBuilder19.setDefault():
   https://github.com/linkedin/avro-util/blob/b9e89c55980ea8e5fd3c8d8da362d7195dd2a99c/helper/impls/helper-impl-19/src/main/java/com/linkedin/avroutil1/compatibility/avro19/FieldBuilder19.java#L69

To verify that the files are otherwise the same as before:
```
$ for file in gobblin-core-base/src/test/resources/converter/*.avsc; do
> git show 928e018:$file > /tmp/before
> diff <(jq . </tmp/before) <(jq . <$file)
> done
```

* Added deprecated json method using AvroCompatibilityHelper

* Removed unused import and replaced Integer.valueOf with Integer.parseInt

* Exclude com.linkedin.hive dependency from gradle build files similar to org.apache.hive

* Repalce direct avro field creation with AvroCompatibilityHelper.createSchemaField

* Removed extra dependency. Addressed review comment - removed jcenter() repository

* Upgrade AvroCompatHelper version

* Removed the code that are actually moved to AvroHiveTypeUtils.java in the master branch

* Addresssed review comments: replaced getObjectProps/getObjectProp with AvroCompatibilityHelper methods

* Fix for test failure

Co-authored-by: Lei <autumnust@users.noreply.github.com>
Co-authored-by: Sreeram Ramachandran <sramachandran@linkedin.com>
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.

4 participants