Skip to content

Upgrade msgpack-core to 0.8.24#1459

Merged
dmikurube merged 1 commit intomasterfrom
update-msgpack-core-0.8.24
Dec 16, 2022
Merged

Upgrade msgpack-core to 0.8.24#1459
dmikurube merged 1 commit intomasterfrom
update-msgpack-core-0.8.24

Conversation

@dmikurube
Copy link
Copy Markdown
Member

@dmikurube dmikurube commented May 20, 2021

Embulk's "JSON"-type values have been represented by msgpack-java's org.msgpack.value.(Immutable)Value since Embulk v0.7. The msgpack-java has set its roots deep inside Embulk, including its plugin SPI method signatures.

It has brought a heavy dependency hell between Embulk and msgpack-java. We have hesitated even just upgrading msgpack-core which can potentially cause a compatibility issue. As a result, a couple of plugins that use msgpack-core (such as embulk-parser-msgpack) had to stay with older msgpack-core. Keeping it old is definitely bad.

The Embulk v0.10 "development" series is a good chance to catch-up. Let's upgrade msgpack-core to 0.8.24, which is the latest v0.8 -- said to be still "compatible" expectedly.

However, msgpack-java v0.9 added a support for a new MessagePack type. Compatibility issues may happen more likely. We do not go with msgpack-java v0.9.


Even though we stay with v0.8 now, it wouldn't continue for good. Instead of future "catch-ups" continued, we'll drop msgpack-java from Embulk in the long term.

Indeed, the Embulk core has never used MessagePacker nor MessageUnpacker from msgpack-core. Embulk has used only org.msgpack.value.(Immutable)Value just as a JSON-like data container. It's nonsense!


The long-term plan would be:

  1. We upgrade msgpack-core to v0.8.24 in Embulk v0.10.42 in this pull request Upgrade msgpack-core to 0.8.24 #1459.
  2. We introduce another set of classes for "JSON" type (expected to be org.embulk.spi.json.JsonValue) in v0.10.42 in another pull request Add org.embulk.spi.json.JsonValue to deprecate use of msgpack-core in embulk-api #1462.
    • We'll keep SPI methods for both (org.msgpack.value.Value and org.embulk.spi.json.JsonValue) for a long time -- even after Embulk v1.0.
    • It'd be similar to "TIMESTAMP" type -- org.embulk.spi.time.Timestamp and java.time.Instant.
    • Plugins are expected to migrate to use org.embulk.spi.json.JsonValue through Embulk v0.11 - v1.0.
  3. At some point in the future, after Embulk v1.0, msgpack-core will be removed.

We'll also write up an EEP for this.

@dmikurube dmikurube added this to the v0.10.35 milestone May 20, 2021
@dmikurube dmikurube force-pushed the bump-up-to-v0.10.35 branch from db589d4 to b608ce9 Compare May 20, 2021 06:38
@dmikurube dmikurube force-pushed the update-msgpack-core-0.8.24 branch 2 times, most recently from fdab925 to 529548a Compare May 20, 2021 06:45
@dmikurube dmikurube modified the milestones: v0.10.35, v0.10.36, v0.10.37 Oct 8, 2021
@dmikurube dmikurube force-pushed the bump-up-to-v0.10.35 branch from b608ce9 to ccbd4dc Compare October 19, 2021 03:30
Base automatically changed from bump-up-to-v0.10.35 to master December 20, 2021 03:36
@dmikurube dmikurube modified the milestones: v0.10.37, v0.10.38 May 19, 2022
@dmikurube dmikurube modified the milestones: v0.10.38, v0.10.39 Oct 28, 2022
@dmikurube dmikurube modified the milestones: v0.10.39, v0.10.40 Dec 5, 2022
@dmikurube dmikurube marked this pull request as draft December 7, 2022 05:38
@dmikurube
Copy link
Copy Markdown
Member Author

Hmm, even in a draft pull request, the Core Team is forcibly assigned... Let me think. Please ignore the review request.

@hiroyuki-sato
Copy link
Copy Markdown
Member

It is marked as 🌙 It seems that the meaning is the following.

embulk/core-team will be requested when the pull request is marked ready for review.

lock

@dmikurube dmikurube modified the milestones: v0.10.40, v0.10.41 Dec 8, 2022
@dmikurube
Copy link
Copy Markdown
Member Author

Ah, I see, the 🌙 mark means like that...

@dmikurube dmikurube modified the milestones: v0.10.41, v0.10.42 Dec 9, 2022
@dmikurube dmikurube force-pushed the update-msgpack-core-0.8.24 branch from 529548a to 022a0cf Compare December 15, 2022 09:07
@dmikurube dmikurube marked this pull request as ready for review December 15, 2022 09:35
@dmikurube dmikurube requested a review from a team as a code owner December 15, 2022 09:35
Copy link
Copy Markdown
Member

@hiroyuki-sato hiroyuki-sato left a comment

Choose a reason for hiding this comment

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

LGTM👍

Copy link
Copy Markdown

@vietnguyen-td vietnguyen-td left a comment

Choose a reason for hiding this comment

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

LGTM

@dmikurube
Copy link
Copy Markdown
Member Author

Thanks!

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants