[infinispan-dev] Infinispan and Google app engine

Vladimir Blagojevic vblagoje at redhat.com
Mon Nov 30 13:05:24 EST 2009


Hi all,

Manik asked me to investigate what it would take to deploy Infinispan 
inside google app engine (GAE). As you might have heard GAE execution 
environment is somewhat constricted (can not create threads, write to 
files, open sockets, etc). Right from a get go it was clear that we can 
not run Infinispan in any mode other than local. However, even if 
Infinispan is run in local mode GAE users could benefit from 
Infinispan's JSR-107 cache interface that is backed up with cache store 
implemented using google datastore api. There probably are use case 
scenarios where GAE users interact with both google provided JSR-107 
memcache service [1] and datastore [2] separately where in fact 
Infinispan's JSR-107 interface that is automatically synced with 
datastore would make much more sense.

Manik and I went back and forth and decided to put this sub project on a 
back burner at this moment. Even though we could accommodate GAE's 
thread restriction it turns out that GAE sandbox restrictions involve 
several apis that we use (JAXB, JMX, JNDI among others) and retrofitting 
Infinispan into this tight sandbox would be a headache. There is a 
strong comunity push to unrestrict these API and it seems pressures from 
community would eventually be successful.

Also, I am still awaiting for some feedback from Mircea to see if we can 
even implement google datastore cache loader to be transactional. Even 
though GAE datastore supports transactions they are only available in 
the same entity group [3]. As far as I understand GAE datastore they 
implement horizontal partitioning which basically involves putting 
different rows into different tables. Think each Person row entry would 
have to be in different table unless they are in some owns (say 
parent-child) relationship.

Feedback appreciated,
Vladimir

[1] http://code.google.com/appengine/docs/java/memcache/usingjcache.html
[2] http://code.google.com/appengine/docs/java/datastore/
[3] http://www.youtube.com/watch?v=2jW2iSKDipY (between 6:45 and 11:40)



More information about the infinispan-dev mailing list