Hi All,
The following commit I2fbebb10c08c87d2c7fd4d7443d3e3b374541ed7 will introduce a in memory
cache inside ovirt-engine
The cache which was chosen is infinispan (
http://www.jboss.org/infinispan/)
The reasons are following: cache has all required functionality, it is open source project
and has built-in integration with
JBOSS, all cache configuration can be accessed or edited via JBOSS admin console.
By introducing this commit the first stage is finished:
1. Cache implementation is added to project
2. Show example how to add and use a cache in ovirt-engine, if it is required
3. Solved bug with possible memory leak in audit log event
The next stages are:
1. Second stage - replace all custom made implementation by standard central cache
implementation
2. Third stage - introduce second level cache for work with DB
3. Fourth stage (Future) - make cluster wise cache or make cache as service, if we will
have more than one instance of JBOSS
Now, after the applying the following commit I2fbebb10c08c87d2c7fd4d7443d3e3b374541ed7,
everyone who works with ovirt-engine
will be required to perform the following operation
1. Run mvn clean install -Pdep,setup in order to replace an old standalone.xml with new
version of it
Or
1. Use regular deploy: mvn clean install -Pdep
2. Access to $JBOSS_HOME/bin/standalone.xml and replace or add infinispan subsystem:
<subsystem xmlns="urn:jboss:domain:infinispan:1.1"
default-cache-container="ovirt-engine">
<cache-container name="ovirt-engine"
default-cache="timeout-base"
jndi-name="java:jboss/infinispan/ovirt-engine" start="EAGER">
<local-cache name="timeout-base">
<transaction mode="NONE"/>
<eviction max-entries="10000"/>
<expiration interval="60000"/>
</local-cache>
</cache-container>
</subsystem>
3. Add or check that exists <extension
module="org.jboss.as.clustering.infinispan"/> under <extensions>
element
Thanks and Regards Michael