[JBoss JIRA] (ISPN-8008) Add Fault-tolerance to write-behind stores
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-8008?page=com.atlassian.jira.plugin.... ]
Ryan Emerson updated ISPN-8008:
-------------------------------
Status: Open (was: New)
> Add Fault-tolerance to write-behind stores
> ------------------------------------------
>
> Key: ISPN-8008
> URL: https://issues.jboss.org/browse/ISPN-8008
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
>
> Currently when a store is configured to be write-behind, three attempts are made to write the queued modifications to the store. If all three attempts fail, then this error is simply logged and the modifications are never written to the store.
> We should allow users to configure a write-behind store so that: In the event that a write-behind fails, further operations on the cache are not allowed and the modifications which failed to write to the store are queued indefinitely. Once the underlying store becomes available, the queued modifications should be written and then the cache should become available.
> To determine whether a store has become available again, the AsyncCacheWriter will have to poll the store's availability. Currently the CacheWriter interface does not allow such behaviour, therefore there are two options:
> * Attempt a write and catch an exception if the store is not currently available
> * Add a method to return the current status of a store to the CacheWriter interface
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-8008) Add Fault-tolerance to write-behind stores
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-8008?page=com.atlassian.jira.plugin.... ]
Work on ISPN-8008 started by Ryan Emerson.
------------------------------------------
> Add Fault-tolerance to write-behind stores
> ------------------------------------------
>
> Key: ISPN-8008
> URL: https://issues.jboss.org/browse/ISPN-8008
> Project: Infinispan
> Issue Type: Enhancement
> Components: Loaders and Stores
> Reporter: Ryan Emerson
> Assignee: Ryan Emerson
>
> Currently when a store is configured to be write-behind, three attempts are made to write the queued modifications to the store. If all three attempts fail, then this error is simply logged and the modifications are never written to the store.
> We should allow users to configure a write-behind store so that: In the event that a write-behind fails, further operations on the cache are not allowed and the modifications which failed to write to the store are queued indefinitely. Once the underlying store becomes available, the queued modifications should be written and then the cache should become available.
> To determine whether a store has become available again, the AsyncCacheWriter will have to poll the store's availability. Currently the CacheWriter interface does not allow such behaviour, therefore there are two options:
> * Attempt a write and catch an exception if the store is not currently available
> * Add a method to return the current status of a store to the CacheWriter interface
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-8034) Support and document the new `local_heap` configuration property for Query configuration
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-8034?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-8034:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> Support and document the new `local_heap` configuration property for Query configuration
> ----------------------------------------------------------------------------------------
>
> Key: ISPN-8034
> URL: https://issues.jboss.org/browse/ISPN-8034
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core, Embedded Querying
> Reporter: Sanne Grinovero
> Assignee: Sanne Grinovero
> Fix For: 9.1.0.Final
>
>
> The "ram" short name to use Lucene's {{RAMDirectory}} implementation was renamed to "local_heap" in Hibernate Search to make its function clearer in the context of Infinispan as there are many kinds of _ram_.
> The "ram" keyword was hardcoded into the Infinispan project though, so this needs to be updated and documented.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7973) Investigate Service Brokers
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-7973?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec edited comment on ISPN-7973 at 7/10/17 7:56 AM:
--------------------------------------------------------------------
Based on [YouTube presentation|https://www.youtube.com/watch?v=BaPMFZZ5lsc]:
A bit of a history:
* The proper name is Service Broker API. It's a successor of Cloud Foundry Service Broker API
Glossary:
* A {{Service}} is just a capability or class that has a plan (a tier of that service). E.g. {{Database as a Service}}.
* A {{Service Instance}} is provisioned instance of that capability. E.g. {{My Database}}.
* A {{Binding}} is a relationship between a service instance and an application. E.g. Credentials for an application to access a {{My Database}}.
[Service Catalog|https://github.com/kubernetes-incubator/service-catalog]:
* Currently at Beta stage
* The Service Catalog requires:
** Service Broker to talk to. It is defined by URL and optional Secret with credentials. The Catalog may operate on many Brokers at the same time.
** The Catalog connects to the Broker, downloads a list of Services and creates a {{Service Class}} based on it.
** In order to provision any of those Services we create an {{Instance}} Kubernetes resource ({{Service Class}}, {{Plan}} and {{Parameters}}).
** After the instance is provisioned we create a {{Binding}} (a provisioned instance, a secret to inject credentials to, and {{PodPresetTemplate}}).
Service Catalog integrations done through Service Broker API:
* OpenShift Templates - We will be able to use OpenShift templates inside Kubernetes
* Ansible -
* Messaging as a Service - it uses [En Masse|https://enmasseproject.github.io]
How to integrate with Service Brokers API?
* The easiest way - write an OpenShift template
* If this is not enough, write Ansible script
* If you want full control, write your own Broker using the [SDK|https://github.com/openshift/open-service-broker-sdk]
How to use Ansible Service Broker?
* Supports reusing existing images (both standard and S2I)
* Ansible Service Broker boostraps a container with Ansible Execution Environment and loads playbooks we defined.
* A user can define 4 playbooks (1 per each event: provision, deprovision, bind, unbind). Each playbook may leverage {{oc}} command tool to do its stuff.
* We can provision multiple services using playbooks (e.g. a web application with a database and a cache, everything nicely configured).
was (Author: sebastian.laskawiec):
Based on [YouTube presentation|https://www.youtube.com/watch?v=BaPMFZZ5lsc]:
A bit of a history:
* The proper name is Service Broker API. It's a successor of Cloud Foundry Service Broker API
Glossary:
* A {{Service}} is just a capability or class that has a plan (a tier of that service). E.g. {{Database as a Service}}.
* A {{Service Instance}} is provisioned instance of that capability. E.g. {{My Database}}.
* A {{Binding}} is a relationship between a service instance and an application. E.g. Credentials for an application to access a {{My Database}}.
[Service Catalog|https://github.com/kubernetes-incubator/service-catalog]:
* Currently at Beta stage
* The Service Catalog requires:
** Service Broker to talk to. It is defined by URL and optional Secret with credentials. The Catalog may operate on many Brokers at the same time.
** The Catalog connects to the Broker, downloads a list of Services and creates a {{Service Class}} based on it.
** In order to provision any of those Services we create an {{Instance}} Kubernetes resource ({{Service Class}}, {{Plan}} and {{Parameters}}).
** After the instance is provisioned we create a {{Binding]} (a provisioned instance, a secret to inject credentials to, and {{PodPresetTemplate}}).
Service Catalog integrations done through Service Broker API:
* OpenShift Templates - We will be able to use OpenShift templates inside Kubernetes
* Ansible -
* Messaging as a Service - it uses [En Masse|https://enmasseproject.github.io]
How to integrate with Service Brokers API?
* The easiest way - write an OpenShift template
* If this is not enough, write Ansible script
* If you want full control, write your own Broker using the [SDK|https://github.com/openshift/open-service-broker-sdk]
How to use Ansible Service Broker?
* Supports reusing existing images (both standard and S2I)
* Ansible Service Broker boostraps a container with Ansible Execution Environment and loads playbooks we defined.
* A user can define 4 playbooks (1 per each event: provision, deprovision, bind, unbind). Each playbook may leverage {{oc}} command tool to do its stuff.
* We can provision multiple services using playbooks (e.g. a web application with a database and a cache, everything nicely configured).
> Investigate Service Brokers
> ---------------------------
>
> Key: ISPN-7973
> URL: https://issues.jboss.org/browse/ISPN-7973
> Project: Infinispan
> Issue Type: Feature Request
> Components: Cloud Integrations
> Reporter: Sebastian Łaskawiec
> Assignee: Sebastian Łaskawiec
>
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-8038) java.lang.ClassCastException with compatibility mode and text content
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-8038?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes edited comment on ISPN-8038 at 7/10/17 7:52 AM:
------------------------------------------------------------------
This is a regression introduced by encoding work
was (Author: gustavonalle):
This is a regression introduced by the rework of the rest server
> java.lang.ClassCastException with compatibility mode and text content
> ---------------------------------------------------------------------
>
> Key: ISPN-8038
> URL: https://issues.jboss.org/browse/ISPN-8038
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 9.1.0.Beta1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Fix For: 9.1.0.Final
>
>
> Setting compat mode with a string marshaller in the server, the same marshaller in the hot rod client, writing text content via rest and reading via Hot Rod yields:
> {noformat}
> org.infinispan.client.hotrod.exceptions.HotRodClientException:
> Request for messageId=3 returned server error (status=0x85): java.lang.ClassCastException: [B cannot be cast to java.lang.String
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-8038) java.lang.ClassCastException with compatibility mode and text content
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-8038?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-8038:
------------------------------------
Affects Version/s: 9.1.0.Beta1
(was: 9.1.0.Alpha1)
> java.lang.ClassCastException with compatibility mode and text content
> ---------------------------------------------------------------------
>
> Key: ISPN-8038
> URL: https://issues.jboss.org/browse/ISPN-8038
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 9.1.0.Beta1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Fix For: 9.1.0.Final
>
>
> Setting compat mode with a string marshaller in the server, the same marshaller in the hot rod client, writing text content via rest and reading via Hot Rod yields:
> {noformat}
> org.infinispan.client.hotrod.exceptions.HotRodClientException:
> Request for messageId=3 returned server error (status=0x85): java.lang.ClassCastException: [B cannot be cast to java.lang.String
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months