You can register non-visible classes in code, but it is a pain.  e.g. I had
the issue with a Guava type which happened to by java serializable but no
easy way to implement a kryo serializer (and I don't like auto fall-back on
java serialization within storm since I prefer to know when things aren't
getting handled by kryo)

List serializers = (List) stormConf.get(Config.TOPOLOGY_KRYO_REGISTER);

serializers.add(Collections.singletonMap(
"com.google.common.collect.RegularImmutableList", SerializableSerializer.
class.getName()));




On Tue, Mar 25, 2014 at 11:56 AM, Vinay Pothnis <[email protected]>wrote:

> Naresh,
>
> Cannot do that in code because the I cannot reference the private class to
> register.
>
> Samit,
>
> This is actually being used indirectly. I use 'storm-rabbitmq' library (
> https://github.com/ppat/storm-rabbitmq) and that internally initializes
> the rabbit mq ConnectionFactory. As part of that initialization, the
> default client properties are added and that is where the
> ByteArrayLongString class is being referenced.
>
>
> http://grepcode.com/file/repo1.maven.org/maven2/com.rabbitmq/amqp-client/2.5.1/com/rabbitmq/client/impl/AMQConnection.java#AMQConnection.defaultClientProperties%28%29
>
> So, kinda stuck here.
>
> Thanks
> Vinay
>
>
> On Tue, Mar 25, 2014 at 6:18 AM, Naresh <[email protected]> wrote:
>
>> Hey Vinay,
>> Did you specify the kryo serialization parameter in all the yaml files on
>> different supervisors? An easier way is to specify this in the code as
>>  Srinath had suggested.
>> Regards
>> Naresh
>>
>> On Mar 25, 2014, at 12:12 AM, Samit Sasan <[email protected]> wrote:
>>
>> Hey Vinay,
>>
>> Sorry to hear that ... before we dwell into workarounds can you describe
>> what object exactly are you passing in the tuple and can you extract your
>> needed info into ur custom DS object and use that instead.
>>
>> -Samit
>> On Tue, Mar 25, 2014 at 2:38 AM, Vinay Pothnis 
>> <[email protected]>wrote:
>>
>>> com.rabbitmq.client.impl.LongStringHelper$ByteArrayLongString
>>
>>
>>
>>
>

Reply via email to