[infinispan-dev] Infinispan and Google app engine

Manik Surtani manik at jboss.org
Tue Dec 1 04:39:00 EST 2009


On 30 Nov 2009, at 18:12, Adrian Cole wrote:

> Cool effort.  I know that local mode would be useful, as at least the
> code doesn't need to change in or out of gae/j.
> 
> P.S.  jaxb preview is out.  gae 1.2.8 will support it, although I
> don't know the constraints.

That's interesting - could be the blocker being removed!  :)  Vladimir, care to have a look?

> 
> Cheers,
> -Adrian
> 
> On Mon, Nov 30, 2009 at 10:05 AM, Vladimir Blagojevic
> <vblagoje at redhat.com> wrote:
>> 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)
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org








More information about the infinispan-dev mailing list