I was able to confirm that clearing the cookie gets rid of the ClassNotFoundException.
I have a hypothesis as to what happened: It appears that sometime after the M4 milestone, the SessionToServletBridge moved from the net.liftweb.http package to net.liftweb.http.provider.servlet. So, the M4 version of my application serialized a net.liftweb.http.SessionToServletBridge to a cookie, but the 1.1- SNAPSHOT version couldn't find a class definition for the object when deserializing the cookie and threw a ClassNotFoundException. Anyway, problem resolved! Atsuhiko, thank you very much for your help! David, thanks for bring the issue to Atsuhiko's attention! - Mark On Sep 1, 4:38 pm, Mark Tye <mark...@gmail.com> wrote: > Thanks for taking a look at this issue. If the solution is as simple > as clearing/removing a cookie, that's great news. I'll give it a try > and let you know how it worked. Thanks again! > > - Mark > > On Aug 26, 2:57 am, Atsuhiko Yamanaka <atsuhiko.yaman...@gmail.com> > wrote: > > > Hi, > > > On Mon, Aug 17, 2009 at 9:18 AM, Mark Tye<mark...@gmail.com> wrote: > > > ... > > > > I don't know if compatibility with App Engine is a priority for the > > > Lift team, but if this doesn't get fixed, I face an ugly choice > > > between remaining frozen at 1.1-M4 as Lift development moves forward, > > > or migrating away from App Engine to another cloud solution. Is there > > > anything I can do to assist the diagnosis/resolution of this issue? > > > I have found that this problem will occur if you run lift app based on > > 1.1-M4 > > and then run lift app based on 1.1-SNAPSHOT. > > And then, if you clear a cookie entry forhttp://yourapp.appsopt.com/ > > in your browser, > > that problem will disappear. > > > I think there is not a solution in the 1.1-SNAPSHOT code. > > > How about clearing sessions before updating to 1.1-SNAPSHOT code base? > > You know that sessions have been kept in the datastore and memcache, > > and following code will clear them. > > I have confirmed that I could cure that problem by following code > > without deleting > > a cookie in my browser. > > > // clearing sessions in the datastore. > > import com.google.appengine.api.datastore.{Query, > > DatastoreServiceFactory, Entity} > > implicit def foo(i:java.lang.Iterable[Entity]) = new Iterator[Entity]{ > > val itt = i.iterator > > def hasNext:Boolean = itt.hasNext > > def next:Entity = itt.next > > } > > val datastore = DatastoreServiceFactory.getDatastoreService > > val results = datastore.prepare(new Query("_ah_SESSION")) > > for(session <- results.asIterable){ > > datastore.delete(session.getKey()) > > } > > > // clearing memcache > > import java.util.Collections > > import javax.cache._ > > val cacheFactory = CacheManager.getInstance.getCacheFactory > > val cache = cacheFactory.createCache(Collections.emptyMap()) > > val stats = cache.getCacheStatistics > > cache.clear > > > Sincerely, > > -- > > Atsuhiko Yamanaka > > JCraft,Inc. > > 1-14-20 HONCHO AOBA-KU, > > SENDAI, MIYAGI 980-0014 Japan. > > Tel +81-22-723-2150 > > +1-415-578-3454 > > Skype callto://jcraft/ > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---