[
https://issues.jboss.org/browse/ISPN-3460?page=com.atlassian.jira.plugin....
]
Krzysztof Sobolewski edited comment on ISPN-3460 at 6/7/16 8:13 AM:
--------------------------------------------------------------------
FYI: one thing that breaks because of this is preload with Functional API. There is a
downcast in PersistenceManagerImpl:
{code:java}
preloadCl.process(null, new AdvancedCacheLoader.CacheLoaderTask() {
@Override
public void processEntry(MarshalledEntry me, AdvancedCacheLoader.TaskContext
taskContext) throws InterruptedException {
if (loadedEntries.getAndIncrement() >= maxEntries) {
taskContext.stop();
return;
}
Metadata metadata = me.getMetadata() != null ?
((InternalMetadataImpl)me.getMetadata()).actual() : null; //the downcast will go away with
ISPN-3460
// ^^^^^^^^^^^^^^^^^^^^^^
preloadKey(flaggedCache, me.getKey(), me.getValue(), metadata);
}
}, new WithinThreadExecutor(), true, true);
{code}
With Functional API there's no InternalMetadataImpl; there's
MetaParamsInternalMetadata instead.
was (Author: ksobolewski):
FYI: one thing that breaks because of this is preload with Functional API. There is a
downcast in PersistenceManagerImpl:
{code:java}
preloadCl.process(null, new AdvancedCacheLoader.CacheLoaderTask() {
@Override
public void processEntry(MarshalledEntry me, AdvancedCacheLoader.TaskContext
taskContext) throws InterruptedException {
if (loadedEntries.getAndIncrement() >= maxEntries) {
taskContext.stop();
return;
}
Metadata metadata = me.getMetadata() != null ?
((InternalMetadataImpl)me.getMetadata()).actual() : null; //the downcast will go away with
ISPN-3460
// ^^^^^^^^^^^^^^^^^^^^
preloadKey(flaggedCache, me.getKey(), me.getValue(), metadata);
}
}, new WithinThreadExecutor(), true, true);
{code}
With Functional API there's no InternalMetadataImpl; there's
MetaParamsInternalMetadata instead.
Refactor the CacheEntry hierarchy
---------------------------------
Key: ISPN-3460
URL:
https://issues.jboss.org/browse/ISPN-3460
Project: Infinispan
Issue Type: Enhancement
Components: Core
Reporter: Mircea Markus
Assignee: William Burns
Priority: Minor
ATM we keep the metadata information in 3 places: CacheValues, CacheEntries and Metadata.
We should move everything in the Metadata and make the CacheValues and the CacheEntries
reference it.
Also look at MimeMetadataHelper in REST cache store...
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)