Introducing hazel cast for clustered operation of collins #367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
In standalone (1 instance) mode, collins relies on GuavaCache for
in-memory cache. This prevent operation in a clustered environment
where it is not possible to ensure cache is coherence across multiple
instances, which can only be achieved by reducing ttl and therefore
the effectiveness of the cache.
As part of doing this, fixed incorrect assumption and implementation
to allow for the domain objects to be appropriately serialized.
Hazelcast will serve as the pub/sub module for firehose implementation.
An experimental implementation to flush out the details for this change
was done earlier
The Firehose relies on collins callback mechanism, this commit includes
changes to fix up the callbacks and add testing around them.
2 specifications with many tests have been added as part of this effort
for cache and callbacks.
@byxorna @Primer42 @roymarantz @defect
PS: Use
w=1
when viewing the diff.