geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lynn Gallinat (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (GEODE-3676) Add a new callback to modify a value before being put into the cache
Date Thu, 05 Oct 2017 22:42:00 GMT

     [ https://issues.apache.org/jira/browse/GEODE-3676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lynn Gallinat updated GEODE-3676:
---------------------------------
    Description: 
Create a new callback called WriteInterceptor to allow a user to change the value to be written
during a write operation.

Use cases:

# Needing to update an entry when doing write behind caching.  For example -- inserting into
a DB and needed to add the auto generated id to the domain object entry.
# Needing to update an entry when doing inline-caching.  Example: needing to update a PdxInstance
on-the-fly.

Requirements:

# This callback should not be invoked while holding locks on the RegionEntry.
# Each Region will only support one instance of WriteInterceptor.
# Callback should be invoked:
#* before CacheWriter
#* before value constraint checks
#* before null checks on a put
#* after CacheLoader
# The WriteInterceptor must be mutable at runtime so that a user can change the WriteInterceptor
on an existing region.
# The WriteInterceptor can be installed or changed via APIs and gfsh commands.
# The WriteInterceptor should be invoked only in the member that initiated the write operation
and should not be invoked at subsequent distribution points.


  was:
Create a new callback called WriteInterceptor to allow a user to change the value to be written
during a write operation.

Use cases:

1) Needing to update an entry when doing write behind caching.  For example -- inserting into
a DB and needed to add the auto generated id to the domain object entry.
2) Needing to update an entry when doing inline-caching.  Example: needing to update a PdxInstance
on-the-fly.

Requirements:

# This callback should not be invoked while holding locks on the RegionEntry.
# Each Region will only support one instance of WriteInterceptor.
# Callback should be invoked:
#* before CacheWriter
#* before value constraint checks
#* before null checks on a put
#* after CacheLoader
# The WriteInterceptor must be mutable at runtime so that a user can change the WriteInterceptor
on an existing region.
# The WriteInterceptor can be installed or changed via APIs and gfsh commands.
# The WriteInterceptor should be invoked only in the member that initiated the write operation
and should not be invoked at subsequent distribution points.



> Add a new callback to modify a value before being put into the cache
> --------------------------------------------------------------------
>
>                 Key: GEODE-3676
>                 URL: https://issues.apache.org/jira/browse/GEODE-3676
>             Project: Geode
>          Issue Type: New Feature
>          Components: regions
>            Reporter: Fred Krone
>            Assignee: Lynn Gallinat
>
> Create a new callback called WriteInterceptor to allow a user to change the value to
be written during a write operation.
> Use cases:
> # Needing to update an entry when doing write behind caching.  For example -- inserting
into a DB and needed to add the auto generated id to the domain object entry.
> # Needing to update an entry when doing inline-caching.  Example: needing to update a
PdxInstance on-the-fly.
> Requirements:
> # This callback should not be invoked while holding locks on the RegionEntry.
> # Each Region will only support one instance of WriteInterceptor.
> # Callback should be invoked:
> #* before CacheWriter
> #* before value constraint checks
> #* before null checks on a put
> #* after CacheLoader
> # The WriteInterceptor must be mutable at runtime so that a user can change the WriteInterceptor
on an existing region.
> # The WriteInterceptor can be installed or changed via APIs and gfsh commands.
> # The WriteInterceptor should be invoked only in the member that initiated the write
operation and should not be invoked at subsequent distribution points.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message