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

chill-akka optional lz4 compression #186

Closed
wants to merge 2 commits into from
Closed

chill-akka optional lz4 compression #186

wants to merge 2 commits into from

Conversation

luben
Copy link

@luben luben commented Jun 3, 2014

Please take a look at this branch. It implements transparent LZ4 compression of the Kryo serialized messages in the Akka serializer. By default it is disabled but could be enabled with:

akka.chill.compression = on

The lz4 jar is lazily linked on-demand if compression is used so that to keep backward compatible behaviour if it is not used.

@johnynek
Copy link
Collaborator

johnynek commented Jun 5, 2014

Compression with serialization is a useful idea in many cases, however I think putting this at the level of Akka is the wrong place. Many might want this in spark, storm or scalding and you could not get it with this implementation.

There are at least two ways to do this as far as I can see:

  1. Make a way to combine compression with any registered kyro serializer, or all serializers (so, new CompressedSerializer[T](wraps: Serializer[T]) extends Serializer[T]
  2. Make an Injection that does this compression and let users turn on using InjectiveSerializer.

What do you think is the best way?

@luben
Copy link
Author

luben commented Jun 6, 2014

I was also thinking that is will be better to push down the serialization down the stack but I don't know how to configure/enable it using the standard akka configs. I see that there is an adapter for typesafe-config (used by akka) as ChillConfig (the AkkaConfig class) but I have not found a description how it could be used and how to manually register serializers.

From configuration POV using separate CompressedSerializer[T] seems cleaner. But I have not thought about the implementation details.

Is there any documentation of who to use ChillConfig? Or even just an example?

@luben luben closed this Jul 29, 2015
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.

None yet

2 participants