[infinispan-dev] Infinispan and Google app engine

Adrian Cole ferncam1 at gmail.com
Mon Nov 30 13:12:44 EST 2009


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.

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
>



More information about the infinispan-dev mailing list