You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are using Apache Ignite in our clustered application with Ignite's OptimizedMarshaller.
The OptimizedMarshaller is simply based on ObjectOutputStream and does not enforce serialized objects to implement the Serializable interface.
If we activate or deactivate the Glowroot agent on one of the nodes, it crashes upon start as Ignite bootstrap messages from other nodes cannot be unmarshalled due to incompatible ObjectOutputStreams.
Falling back to the JdkMarshaller that relies on plain java serialization is an option, but only works if the classes of all cached objects are serializable or externalizable.
I am missing an option that would allow me to configure a list of packages and/or classes to be blacklisted for weaving in the UI and config.json. Ideally, custom instrumentations should override this blacklist, so I can pick classes of interest of a blacklisted package.
Do you see any issues with such a functionality?
The text was updated successfully, but these errors were encountered:
Hi @sldab, thanks for reporting this! I think the problem is that Glowroot was not marking fields it adds as transient. I'm hoping this is fixed now in the latest snapshot release glowroot-agent-0.10.10-SNAPSHOT-dist.zip.
Hi @trask, thank you for fixing this so quickly. I like this fix very much. Tested it with the snapshot version and it looks fine.
My gut feeling tells me that we still might need some sort of instrumentation blacklist for debugging purposes if we roll out the agent on a bigger scale. But let's see...
trask
changed the title
Weaving blacklist required
Glowroot causes error de-serializing
Jun 5, 2018
We are using Apache Ignite in our clustered application with Ignite's
OptimizedMarshaller
.The
OptimizedMarshaller
is simply based onObjectOutputStream
and does not enforce serialized objects to implement theSerializable
interface.If we activate or deactivate the Glowroot agent on one of the nodes, it crashes upon start as Ignite bootstrap messages from other nodes cannot be unmarshalled due to incompatible
ObjectOutputStream
s.Falling back to the
JdkMarshaller
that relies on plain java serialization is an option, but only works if the classes of all cached objects are serializable or externalizable.I am missing an option that would allow me to configure a list of packages and/or classes to be blacklisted for weaving in the UI and
config.json
. Ideally, custom instrumentations should override this blacklist, so I can pick classes of interest of a blacklisted package.Do you see any issues with such a functionality?
The text was updated successfully, but these errors were encountered: