I have found a bug on client side implementation when sending keyed events. The method toJson in Message class converts the message into JSON but it uses a wrong field name for keys' event. Check here: https://github.com/s4/s4/blob/v0.3.0/s4-driver/java/src/main/java/io/s4/client/Message.java#L87
The documentation at http://docs.s4.io/manual/client_adapter.html#sending-events-into-s4-cluster says that 'keys' field should be used but the implementation uses 'keysName'. Now keyed events are dispatched after changing that field to 'keys'.
Should I open a bug ticket for this?