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.
>>
>
                                
                         
                        
                                
                                14 years, 1 month
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                        
                                
                                
                                        
                                                
                                        
                                        
                                        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, 10 months
                        
                        
                 
         
 
        
            
        
        
        
                
                        
                                
                                
                                        
                                
                         
                        
                                
                                
                                        
                                                
                                        
                                        
                                        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 ☍
                                
                         
                        
                                
                                15 years, 8 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
                                
                         
                        
                                
                                15 years, 8 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
                                
                         
                        
                                
                                15 years, 8 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	
                                
                         
                        
                                
                                15 years, 8 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
                                
                         
                        
                                
                                15 years, 8 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
                                
                         
                        
                                
                                15 years, 8 months