Configuration visitor - Re: [JBoss JIRA] Commented: (ISPN-145) No transport and singleton store enabled should not be allowed
by Vladimir Blagojevic
Hi,
Galder and I talked about this offline. Time to involve you guys!
I just completed visitor pattern for our configuration objects. Visitor
is passed from root of configuration - InfinispanConfiguration object.
InfinispanConfiguration class has a new method:
public void accept(ConfigurationBeanVisitor v)
How do we want to integrate this visitor into existing structure?
1) We add a new factory method to InfinispanConfiguration with
additional ConfigurationBeanVisitor parameter
2) We leave everything as is and if there is a need to pass some visitor
we pass it to InfinispanConfiguration instance directly (from
DefaultCacheManager)
DefaultCacheManager will pass ValidationVisitor to
InfinispanConfiguration that will verify configuration semantically.
Regards,
Vladimir
On 09-09-09 10:19 AM, Galder Zamarreno wrote:
> Good idea :)
>
> On 09/09/2009 04:13 PM, Vladimir Blagojevic wrote:
>> Yeah,
>>
>> I was thinking that we can make a visitor for configuration tree and
>> then you can do verification of any node and other things as well. Use
>> cases will come up in the future for sure.
>>
>> Cheers
>>
>>
>>
>> On 09-09-09 3:29 AM, Galder Zamarreno (JIRA) wrote:
>>> [
>>> https://jira.jboss.org/jira/browse/ISPN-145?page=com.atlassian.jira.plugi...
>>>
>>> ]
>>>
>>> Galder Zamarreno commented on ISPN-145:
>>> ---------------------------------------
>>>
>>> Not sure I understand what you mean by generic though. You mean any
>>> component to have a validation step of some sort?
>>>
>>> Thanks for taking this on :)
>>>
>>>> No transport and singleton store enabled should not be allowed
>>>> --------------------------------------------------------------
>>>>
>>>> Key: ISPN-145
>>>> URL: https://jira.jboss.org/jira/browse/ISPN-145
>>>> Project: Infinispan
>>>> Issue Type: Bug
>>>> Components: Loaders and Stores
>>>> Affects Versions: 4.0.0.ALPHA6
>>>> Reporter: Galder Zamarreno
>>>> Assignee: Vladimir Blagojevic
>>>> Priority: Minor
>>>> Fix For: 4.0.0.CR1
>>>>
>>>>
>>>> Throw configuration exception if singleton store configured without
>>>> transport having been configured.
>>>> It makes no sense to have singleton store enabled when there's no
>>>> transport.
>>
>
13 years, 2 months
Using Coverity scan?
by Sanne Grinovero
Hello,
Did you consider enabling Infinispan to be monitored by coverity's
code analysis services? They are free for OSS projects, I saw a demo
recently and was quite amazed. It's similar to FindBugs, but not only
about static code checks. They checkout your code from trunk and then
run several analysis on it periodically, one of them is about dynamic
thread behavior to predict deadlocks or missing fences instrumenting
the code, and produce nice public reports; AFAIK you don't need to
setup anything yourself, besides getting in touch to ask for it.
It's only available for C and Java code, and they have an impressive
list of OSS projects in the C world (linux kernel, httpd server,
samba, gnome, GCC, PostgreSQL, ...) but not much on Java.
http://scan.coverity.com/
No, I'm not affiliated :-) Just thinking that it might be useful to
have if it's not too hard to setup.
Cheers,
Sanne
14 years
JBoss Marshalling 1.3 series
by David M. Lloyd
For JBoss Marshalling 1.3, I'm planning on adding a new River protocol
version (3) and phasing out version 1. As far as I'm aware, Infinispan is
using version 2, correct?
By phasing out old versions, I can reduce the number of runtime checks and
improve performance and maintainability. However, going forward, I will
not be removing support for protocol versions which are used in
widely-deployed versions of projects which use it (Infinispan for one).
Thus, as time goes on, expect me to be pinging you guys about your input on
keeping or dropping various protocol versions.
For protocol version 3, I'm looking at some or all of the following features:
- Full Javassist proxy serialization support
- Fast serialization of more collection types
- The JBoss Marshalling "Pair" type
- JDK 6 collection types (Deque, NavigableSet/NavigableMap and their
implementations)
- More collection utility wrapper types, probably including (but not
limited to):
- Collections.checked*()
- Collections.asLifoQueue()
- Collections.nCopies()
- Collections.newSetFromMap()
- Collections.reverseOrder(*)
Please speak up if there are other features that you'd like to see.
--
- DML ☍
14 years, 9 months
Compressing Marshaller Wrapper
by philippe van dyck
Hi All,
Currently, I compress all data before sending it to the cache. Once compressed, I gain 95% of the JSonized qi4j objects.
I did some profiling during the load tests and compression is taking roughly 80% of the cpu time.
So I would like to compress only the data sent to the store, not in memory.
Looks like the Marshaller is my friend here, and I plan to write a compressing wrapper around it.
Now, when I look at it, I see two ways to wrap the compression process.
One way is with the ObjectInput / ObjectOutput but I am bothered by the reentrant flag.
The other is the ByteBuffer stuff, no concurrency problem here, but it looks like more work.
WDYT ?
Cheers,
phil
14 years, 10 months
Packaging Infinispan 4.1
by Manik Surtani
Hi all.
Now that 4.0 is out the door, I was looking at how we need to package 4.1. In 4.0, we had the following:
infinispan-all: all modules.
infinispan-bin: core, and a few other jars.
infinispan-src: an archive of the SVN checkout for this tag
infinispan-single_jar: all you need to get core working, with all dependencies re-archived into a single jar
infinispan-server-rest: a WAR file with all deps included for easy deployment in a servlet container.
Do we need any new distribution archives for 4.1? Or does everything fit into the above? Specifically, wrt. the new server modules we have (memcached, hotrod). Do they simply make it into infinispan-all and infinispan-bin, with necessary scripts such as startServer.sh and stopServer.sh ?
Cheers
Manik
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
14 years, 10 months
update page on custom interceptors
by Mircea Markus
Hi,
I've added a sanity check to verify weather all the CacheManagers created by a test are being shutdown within the same test[1].
The cool part is that if a CM is not being closed, the fwk will report you where the unclosed CacheManager was created (java file and line, see bellow), so that you don't have to spend too much time looking into code ;)
E.g.
[pool-2-thread-7] Test testTxChangesOnAtomicMap(org.infinispan.atomic.AtomicMapFunctionalTest) succeeded.
Test suite progress: tests succeeded: 179, failed: 1, skipped: 0.
[pool-2-thread-7] Test testTxChangesOnAtomicMapNoLocks(org.infinispan.atomic.AtomicMapFunctionalTest) succeeded.
Test suite progress: tests succeeded: 180, failed: 1, skipped: 0.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!! (pool-2-thread-7) Exiting because atomic.AtomicMapFunctionalTest has NOT shut down all the cache managers it has started !!!!!!!
!!!!!! (pool-2-thread-7) The still-running cacheManager was created here: org.infinispan.atomic.AtomicMapFunctionalTest.setUp(AtomicMapFunctionalTest.java:33) !!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Cheers,
Mircea
[1]https://jira.jboss.org/jira/browse/ISPN-314
14 years, 10 months
Generated configdoc documentation
by Manik Surtani
Vladimir,
Any idea why certain XML elements have text for more than one element?
http://docs.jboss.org/infinispan/4.0/apidocs/config.html#ce_global_asyncL...
Could have something to do with this javadoc on ExecutorFactoryType:
/**
* @configRef name="asyncListenerExecutor",desc="Configuration for the executor service used to emit notifications to
* asynchronous listeners."
* @configRef name="asyncTransportExecutor",desc="Configuration for the executor service used for asynchronous work
* on the Transport, including asynchronous marshalling and Cache 'async operations' such as Cache.putAsync()."
*
* @see <a href="../../../config.html#ce_global_asyncListenerExecutor">Configuration reference</a>
*
*/
Cheers
Manik
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
14 years, 10 months
memcached.sh
by Manik Surtani
Galder
I notice you have a memcached.sh script to start the memcached server. I believe this should be something like startServer.sh, given that we are not actually starting memcached? ;)
And perhaps the script could be reused for HotRod as well ... passing in a flag to specify which protocol to speak, perhaps something like:
$ startServer.sh -p memcached
or
$ startServer.sh -p hotrod
Perhaps org.infinispan.server.memcached.Main could be in the server/core module instead, and based on the protocol flag passed in, kick start the appropriate server? WDYT?
Also, how do you handle graceful shutdown of the server? Do you need to do something like listen on a separate, shutdown port (accepting local connections only) for a shutdown signal?
Cheers
Manik
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
14 years, 10 months