My favorites | Sign in
Project Logo
Project hosting will be READ-ONLY Wednesday at 8am PST due to brief network maintenance.
                
Details: Show all Hide all

Today

  • 8 hours ago
    issue 262 (NullPointerException in fetchNextPage) reported by dstarke   -   What steps will reproduce the problem? This problem happens occasionally when our application is using a PersevereStore to back a scrolling dojo grid. The grid loads data 25 rows at a time. When this problem occurs, we get the first 25 rows back fine, but the exception occurs in one of the later requests when we scroll the grid view. What is the expected output? What do you see instead? The expected output is what we usually see: that the later results are returned without error. Instead, the call to the server fails and we get the following stack trace in the log file: INFO | jvm 1 | 2010/02/09 07:46:08 | Feb 9, 2010 7:46:08 AM org.persvr.remote.PersevereFilter$DefaultHandler call INFO | jvm 1 | 2010/02/09 07:46:08 | WARNING: java.lang.NullPointerException INFO | jvm 1 | 2010/02/09 07:46:08 | Feb 9, 2010 7:46:08 AM org.persvr.remote.PersevereFilter$DefaultHandler call INFO | jvm 1 | 2010/02/09 07:46:08 | WARNING: INFO | jvm 1 | 2010/02/09 07:46:08 | java.lang.NullPointerException INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray.fetchNextPage(PersistableArray.java:449) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray.get(PersistableArray.java:521) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1645) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectIndex(ScriptRuntime.java:1496) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectIndex(ScriptRuntime.java:1481) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c255._c1(FieldValueCore.js:14) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c255.call(FieldValueCore.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.callWithChecks(Method.java:140) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:94) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:56) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251._c4(authenticate.js:112) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251.call(authenticate.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.ProtectedGlobal$2.callWithChecks(ProtectedGlobal.java:64) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:94) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:56) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251._c3(authenticate.js:87) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251.call(authenticate.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.ProtectedGlobal$2.callWithChecks(ProtectedGlobal.java:64) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:94) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:56) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.security.UserSecurity.getPermissionLevel(UserSecurity.java:36) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableObject.checkSecurity(PersistableObject.java:871) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableObject.get(PersistableObject.java:132) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1617) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1437) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1423) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3027) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray$FilterFunction$1$1.getNext(PersistableArray.java:126) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray$FilterFunction$1$1.hasNext(PersistableArray.java:136) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.QueryArray.toArray(QueryArray.java:152) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray$FastSortFunction.call(PersistableArray.java:212) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3330) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c219._c23(org/persvr/server.js:169) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c219.call(org/persvr/server.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c15._c1(function:2) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c15.call(function) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c15.call(function) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.JsonPath.doJsonPath(JsonPath.java:128) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.JsonPath.doJsonPath(JsonPath.java:88) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.JsonPath.getTarget(JsonPath.java:79) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.remote.Client$IndividualRequest.requestData(Client.java:245) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.remote.PersevereFilter$DefaultHandler.call(PersevereFilter.java:616) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.remote.PersevereFilter.doFilter(PersevereFilter.java:357) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.Server.handle(Server.java:324) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522) What version of the product are you using? On what operating system? Persevere 1.0 Other information: Our codebase has custom authentication and access control code, which may be evident in the stack trace shown. However, examination of the relevant code in Persevere leads us to believe that the problem is in the Persevere code, not in our access control. fetchNextPage() is a synchronized method which uses an iterator and then sets it to null. We can't find the code that initializes the iterator (at least not inside the synchronized region where it can be guaranteed to execute before the iterator is needed). It seems to us that multiple requests for multiple pages made to a server under load could cause the synchronized block to execute twice without any other code executing in between, which could lead to this problem. As with most synchronization issues, this doesn't happen every time, so it is difficult to reproduce.
    What steps will reproduce the problem? This problem happens occasionally when our application is using a PersevereStore to back a scrolling dojo grid. The grid loads data 25 rows at a time. When this problem occurs, we get the first 25 rows back fine, but the exception occurs in one of the later requests when we scroll the grid view. What is the expected output? What do you see instead? The expected output is what we usually see: that the later results are returned without error. Instead, the call to the server fails and we get the following stack trace in the log file: INFO | jvm 1 | 2010/02/09 07:46:08 | Feb 9, 2010 7:46:08 AM org.persvr.remote.PersevereFilter$DefaultHandler call INFO | jvm 1 | 2010/02/09 07:46:08 | WARNING: java.lang.NullPointerException INFO | jvm 1 | 2010/02/09 07:46:08 | Feb 9, 2010 7:46:08 AM org.persvr.remote.PersevereFilter$DefaultHandler call INFO | jvm 1 | 2010/02/09 07:46:08 | WARNING: INFO | jvm 1 | 2010/02/09 07:46:08 | java.lang.NullPointerException INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray.fetchNextPage(PersistableArray.java:449) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray.get(PersistableArray.java:521) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1645) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectIndex(ScriptRuntime.java:1496) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectIndex(ScriptRuntime.java:1481) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c255._c1(FieldValueCore.js:14) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c255.call(FieldValueCore.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.callWithChecks(Method.java:140) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:94) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:56) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251._c4(authenticate.js:112) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251.call(authenticate.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.ProtectedGlobal$2.callWithChecks(ProtectedGlobal.java:64) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:94) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:56) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251._c3(authenticate.js:87) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c251.call(authenticate.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.ProtectedGlobal$2.callWithChecks(ProtectedGlobal.java:64) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:94) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.Method.call(Method.java:56) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.security.UserSecurity.getPermissionLevel(UserSecurity.java:36) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableObject.checkSecurity(PersistableObject.java:871) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableObject.get(PersistableObject.java:132) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1617) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1437) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1423) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3027) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray$FilterFunction$1$1.getNext(PersistableArray.java:126) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray$FilterFunction$1$1.hasNext(PersistableArray.java:136) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.QueryArray.toArray(QueryArray.java:152) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.PersistableArray$FastSortFunction.call(PersistableArray.java:212) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3330) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c219._c23(org/persvr/server.js:169) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c219.call(org/persvr/server.js) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c15._c1(function:2) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c15.call(function) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mozilla.javascript.gen.c15.call(function) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.JsonPath.doJsonPath(JsonPath.java:128) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.JsonPath.doJsonPath(JsonPath.java:88) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.data.JsonPath.getTarget(JsonPath.java:79) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.remote.Client$IndividualRequest.requestData(Client.java:245) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.remote.PersevereFilter$DefaultHandler.call(PersevereFilter.java:616) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.persvr.remote.PersevereFilter.doFilter(PersevereFilter.java:357) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.Server.handle(Server.java:324) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) INFO | jvm 1 | 2010/02/09 07:46:08 | at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522) What version of the product are you using? On what operating system? Persevere 1.0 Other information: Our codebase has custom authentication and access control code, which may be evident in the stack trace shown. However, examination of the relevant code in Persevere leads us to believe that the problem is in the Persevere code, not in our access control. fetchNextPage() is a synchronized method which uses an iterator and then sets it to null. We can't find the code that initializes the iterator (at least not inside the synchronized region where it can be guaranteed to execute before the iterator is needed). It seems to us that multiple requests for multiple pages made to a server under load could cause the synchronized block to execute twice without any other code executing in between, which could lead to this problem. As with most synchronization issues, this doesn't happen every time, so it is difficult to reproduce.

Last 30 days

  • Jan 28, 2010
    persevere1.0.1.rc2.zip (Persevere 1.0.1 rc2) file uploaded by kriszyp   -  
    Labels: Featured Type-Archive OpSys-All
    Labels: Featured Type-Archive OpSys-All
  • Jan 27, 2010
    persevere1.0.1.rc2.tar.gz (Persevere 1.0.1 rc2) file uploaded by kriszyp   -  
    Labels: Featured Type-Archive OpSys-All
    Labels: Featured Type-Archive OpSys-All
  • Jan 27, 2010
    r698 (Fixes deletion of schemas, only deleting own properties) committed by kriszyp   -   Fixes deletion of schemas, only deleting own properties
    Fixes deletion of schemas, only deleting own properties
  • Jan 27, 2010
    r697 (Change permissions on engines/rhino/bin) committed by kriszyp   -   Change permissions on engines/rhino/bin
    Change permissions on engines/rhino/bin
  • Jan 25, 2010
    r696 (Fix url for wiky and narcissus) committed by kriszyp   -   Fix url for wiky and narcissus
    Fix url for wiky and narcissus
  • Jan 25, 2010
    r695 (Clean out before downloading) committed by kriszyp   -   Clean out before downloading
    Clean out before downloading
  • Jan 25, 2010
    r694 (Added a download script for systems without git.) committed by kriszyp   -   Added a download script for systems without git.
    Added a download script for systems without git.
  • Jan 25, 2010
    r693 (Added scripts for setting up the CommonJS packages) committed by kriszyp   -   Added scripts for setting up the CommonJS packages
    Added scripts for setting up the CommonJS packages
  • Jan 22, 2010
    r692 (Fix premature access check Fix triggering of deletion of ite...) committed by kriszyp   -   Fix premature access check Fix triggering of deletion of items in array when truncating on refresh
    Fix premature access check Fix triggering of deletion of items in array when truncating on refresh
  • Jan 22, 2010
    issue 261 (option to run without REPL) commented on by tsch...@opengeo.org   -   Thanks Kris. I see this came at r691.
    Thanks Kris. I see this came at r691.
  • Jan 22, 2010
    issue 261 (option to run without REPL) commented on by kriszyp   -   You can disable the repl by including this in one of your config files: "repl":false
    You can disable the repl by including this in one of your config files: "repl":false
  • Jan 22, 2010
    issue 261 (option to run without REPL) Status changed by kriszyp   -  
    Status: Fixed
    Status: Fixed
  • Jan 22, 2010
    persevere1.0.1.rc.tar.gz (Persevere 1.0.1 rc) file uploaded by kriszyp   -  
    Labels: Featured Type-Archive OpSys-All
    Labels: Featured Type-Archive OpSys-All
  • Jan 22, 2010
    r691 (Enable config of repl) committed by kriszyp   -   Enable config of repl
    Enable config of repl
  • Jan 22, 2010
    r690 (Fixes schema recreation) committed by kriszyp   -   Fixes schema recreation
    Fixes schema recreation
  • Jan 21, 2010
    r689 (More build updates) committed by kriszyp   -   More build updates
    More build updates
  • Jan 21, 2010
    r688 (Emptied narwhal directory so it can be updated from git) committed by kriszyp   -   Emptied narwhal directory so it can be updated from git
    Emptied narwhal directory so it can be updated from git
  • Jan 21, 2010
    r687 (Added JSGI builds Fixed DB connection in SQLSTore) committed by kriszyp   -   Added JSGI builds Fixed DB connection in SQLSTore
    Added JSGI builds Fixed DB connection in SQLSTore
  • Jan 15, 2010
    r686 (Never overwrite the core.json file.) committed by kriszyp   -   Never overwrite the core.json file.
    Never overwrite the core.json file.
  • Jan 13, 2010
    issue 261 (option to run without REPL) reported by tsch...@opengeo.org   -   If possible, it would be nice to be able to disable the REPL when running Persevere. (I think the REPL is the cat's meow, but we're getting reports that users are confused seeing it with output from other servlets in the same container.)
    If possible, it would be nice to be able to disable the REPL when running Persevere. (I think the REPL is the cat's meow, but we're getting reports that users are confused seeing it with output from other servlets in the same container.)

Earlier this year

  • Jan 08, 2010
    issue 260 (Static methods not inherited) commented on by twinsix   -   The above link is broken. Here's the info from the link: ... * Classes themselves now inherit from their super classes. Before, only the class prototype has inherited, but now static methods and properties (those that are directly on the class) are inherited as well. Class({id:"SuperClass", foo:function(){..}}); Class({id:"SubClass", "extends":SuperClass}); SubClass.foo(); ...
    The above link is broken. Here's the info from the link: ... * Classes themselves now inherit from their super classes. Before, only the class prototype has inherited, but now static methods and properties (those that are directly on the class) are inherited as well. Class({id:"SuperClass", foo:function(){..}}); Class({id:"SubClass", "extends":SuperClass}); SubClass.foo(); ...
  • Jan 08, 2010
    issue 260 (Static methods not inherited) reported by twinsix   -   Steps to reproduce: 1) Download persevere1.0.zip, unzip 2) Create /WEB-INF/jslib/SuperClass.js containing: Class({ id:"SuperClass", foo:function(){ return "hello"; } }); 3) Create /WEB-INF/jslib/SubClass.js containing: require("SuperClass.js"); Class({ id:"SubClass", "extends":SuperClass }); 4) Run java -jar start.jar 5) At the js> prompt, enter: SuperClass.foo(); 6) At the js> prompt, enter: SubClass.foo(); Output for step 5: js>SuperClass.foo(); hello Output for step 6: js>SubClass.foo(); TypeError: Cannot find function foo in object [object Class]. I expected step 6 to return "hello" based on the info here: http://groups.google.com/group/persevere- framework/browse_thread/thread/8d8c2f93f6ca52fe/a4745988e0424a2f? lnk=gst&q=updates#a4745988e0424a2f
    Steps to reproduce: 1) Download persevere1.0.zip, unzip 2) Create /WEB-INF/jslib/SuperClass.js containing: Class({ id:"SuperClass", foo:function(){ return "hello"; } }); 3) Create /WEB-INF/jslib/SubClass.js containing: require("SuperClass.js"); Class({ id:"SubClass", "extends":SuperClass }); 4) Run java -jar start.jar 5) At the js> prompt, enter: SuperClass.foo(); 6) At the js> prompt, enter: SubClass.foo(); Output for step 5: js>SuperClass.foo(); hello Output for step 6: js>SubClass.foo(); TypeError: Cannot find function foo in object [object Class]. I expected step 6 to return "hello" based on the info here: http://groups.google.com/group/persevere- framework/browse_thread/thread/8d8c2f93f6ca52fe/a4745988e0424a2f? lnk=gst&q=updates#a4745988e0424a2f
  • Jan 07, 2010
    r685 (Update) committed by kriszyp   -   Update
    Update
  • Jan 06, 2010
    r684 (Updates) committed by kriszyp   -   Updates
    Updates
  • Jan 04, 2010
    issue 38 (Replication/Clustering) commented on by michieleghuizen   -   Why not use ehcache for that, with terracotta. They are rather good with clustering. Not much configuration either. And for caching purposes ehcache is good as well. see: http://terracotta.org http://ehcache.org for fast check on what terracotta is/can: http://www.youtube.com/watch?v=miM5-Kvh6jE
    Why not use ehcache for that, with terracotta. They are rather good with clustering. Not much configuration either. And for caching purposes ehcache is good as well. see: http://terracotta.org http://ehcache.org for fast check on what terracotta is/can: http://www.youtube.com/watch?v=miM5-Kvh6jE

Older

  • Dec 30, 2009
    r683 (Fixes try/catch handling) committed by kriszyp   -   Fixes try/catch handling
    Fixes try/catch handling
  • Dec 30, 2009
    r682 (Delete moved files) committed by kriszyp   -   Delete moved files
    Delete moved files
  • Dec 30, 2009
    r681 (Reorg updates) committed by kriszyp   -   Reorg updates
    Reorg updates
  • Dec 22, 2009
    r680 (Pointed jsclient to dojo 1.4 for 1.0 branch) committed by kriszyp   -   Pointed jsclient to dojo 1.4 for 1.0 branch
    Pointed jsclient to dojo 1.4 for 1.0 branch
  • Dec 22, 2009
    issue 259 (Array slicing [0:2] is not working right on 1.0 latest sourc...) Status changed by kriszyp   -  
    Status: Fixed
    Status: Fixed
  • Dec 22, 2009
    r679 (Fix querying with slice operator and for each on query resul...) committed by kriszyp   -   Fix querying with slice operator and for each on query result sets (fixes #259) Remove unnecessary "safe" checks in queries
    Fix querying with slice operator and for each on query result sets (fixes #259) Remove unnecessary "safe" checks in queries
  • Dec 20, 2009
    issue 259 (Array slicing [0:2] is not working right on 1.0 latest sourc...) commented on by dtynan   -   Well darn, putting things back fixed [:3]-style syntax, as I said, but now my resultset gets doubled (instead of 20 results I get 40, for example). This is the problem that was originally reported that caused the "return results;" line to be added. Sigh. So we need a fix that works for both scenarios... ?
    Well darn, putting things back fixed [:3]-style syntax, as I said, but now my resultset gets doubled (instead of 20 results I get 40, for example). This is the problem that was originally reported that caused the "return results;" line to be added. Sigh. So we need a fix that works for both scenarios... ?
  • Dec 15, 2009
    r678 (Added missing files) committed by kriszyp   -   Added missing files
    Added missing files
  • Dec 15, 2009
    r677 (Added missing files) committed by kriszyp   -   Added missing files
    Added missing files
  • Dec 15, 2009
    r676 (Pintura reorg) committed by kriszyp   -   Pintura reorg
    Pintura reorg
  • Dec 12, 2009
    issue 259 (Array slicing [0:2] is not working right on 1.0 latest sourc...) commented on by dtynan   -   Ok, I think I tracked down the line of code that broke the array slice/range stuff. It's in server.js, in the slice() function, and was added in r605. It's just a "return results;" line that was added. I commented that out, rebuilt, and the array slice/range works again.
    Ok, I think I tracked down the line of code that broke the array slice/range stuff. It's in server.js, in the slice() function, and was added in r605. It's just a "return results;" line that was added. I commented that out, rebuilt, and the array slice/range works again.
  • Dec 11, 2009
    issue 259 (Array slicing [0:2] is not working right on 1.0 latest sourc...) commented on by dtynan   -   Just fyi ... I dropped back to r615 and had the same problem, I then backed up to r586 which does not have the problem, so somewhere in between those two it appeared. I also tested against the built-in Transaction class (on the current version), just to be sure it wasn't somehow related to my data, and the problem was visible there too regardless of adding any specific data.
    Just fyi ... I dropped back to r615 and had the same problem, I then backed up to r586 which does not have the problem, so somewhere in between those two it appeared. I also tested against the built-in Transaction class (on the current version), just to be sure it wasn't somehow related to my data, and the problem was visible there too regardless of adding any specific data.
  • Dec 08, 2009
    issue 246 (pjs.getUserName(); Always returns null) commented on by deepak.nadar   -   Works when used after getStores() call: // works dojox.data.PersevereStore.getStores(). addCallback(function(stores) { console.debug(pjs.getUserName()); });
    Works when used after getStores() call: // works dojox.data.PersevereStore.getStores(). addCallback(function(stores) { console.debug(pjs.getUserName()); });
  • Dec 08, 2009
    issue 246 (pjs.getUserName(); Always returns null) commented on by deepak.nadar   -   Same issue here. Also, trying it after page load also fails - but, it does work when manually trying it using Firebug (in FF)...there is a specific event to wait for, just don't know which one. // fails dojo.addOnLoad(function() { console.debug(pjs.getUserName()); });
    Same issue here. Also, trying it after page load also fails - but, it does work when manually trying it using Firebug (in FF)...there is a specific event to wait for, just don't know which one. // fails dojo.addOnLoad(function() { console.debug(pjs.getUserName()); });
  • Nov 30, 2009
    r675 (Pintura reorg) committed by kriszyp   -   Pintura reorg
    Pintura reorg
  • Nov 25, 2009
    issue 259 (Array slicing [0:2] is not working right on 1.0 latest sourc...) reported by dtynan   -   I usually get an empty result set when using the array indexing operator (like [:3] or [0:1]), even though I should have results. I see this from console as well as web. Here is a console example: js>b = load("resfull6") [object Array of 4 elements] js>b = load("resfull6/[?blah='Austin']") [object Array of 3 elements] js>b = load("resfull6/[?blah='Austin'][:2]") [object Array of 0 elements] <<<<---- problem js>b = load("resfull6/[0:2]") [object Array of 0 elements] <<<<---- problem js>b = load("resfull6/[1:1]") [object Array of 0 elements] <<<<---- problem js>serialize(a) [ {"id":"resfull6/1", "blah":"Austin" }, {"id":"resfull6/2", "blah":"Austin" }, {"id":"resfull6/3", "blah":"Junk" }, {"id":"resfull6/4", "blah":"Austin" } What version of the product are you using? On what operating system? I'm on version 1.0 (actually, r661 is the revision) I've duplicated this on windows & linux Please provide any additional information below. I see the same issue from the HTTP interface as from the command line. Strangely, on my own (much larger) database, the slicing operator DOES work on some fields (or perhaps randomly), but it's rare.
    I usually get an empty result set when using the array indexing operator (like [:3] or [0:1]), even though I should have results. I see this from console as well as web. Here is a console example: js>b = load("resfull6") [object Array of 4 elements] js>b = load("resfull6/[?blah='Austin']") [object Array of 3 elements] js>b = load("resfull6/[?blah='Austin'][:2]") [object Array of 0 elements] <<<<---- problem js>b = load("resfull6/[0:2]") [object Array of 0 elements] <<<<---- problem js>b = load("resfull6/[1:1]") [object Array of 0 elements] <<<<---- problem js>serialize(a) [ {"id":"resfull6/1", "blah":"Austin" }, {"id":"resfull6/2", "blah":"Austin" }, {"id":"resfull6/3", "blah":"Junk" }, {"id":"resfull6/4", "blah":"Austin" } What version of the product are you using? On what operating system? I'm on version 1.0 (actually, r661 is the revision) I've duplicated this on windows & linux Please provide any additional information below. I see the same issue from the HTTP interface as from the command line. Strangely, on my own (much larger) database, the slicing operator DOES work on some fields (or perhaps randomly), but it's rare.
  • Nov 23, 2009
    r674 (Add join to lazy) committed by kriszyp   -   Add join to lazy
    Add join to lazy
  • Nov 23, 2009
    r673 (Add support for in method Convert full-text to set of ids) committed by kriszyp   -   Add support for in method Convert full-text to set of ids
    Add support for in method Convert full-text to set of ids
  • Nov 21, 2009
    issue 258 (using .length() instead of .length causes server problem) Status changed by kriszyp   -  
    Status: Verified
    Status: Verified
  • Nov 21, 2009
    issue 258 (using .length() instead of .length causes server problem) commented on by dtynan   -   I tried this again using Persevere 1.0 and could not recreate the issue I was seeing. Using .length() does cause a bunch of junk to scroll by on the console, and then an error, but it doesn't appear to cause any crashes/hangs/denial of service/etc as far as I can tell. This bug can be closed out.
    I tried this again using Persevere 1.0 and could not recreate the issue I was seeing. Using .length() does cause a bunch of junk to scroll by on the console, and then an error, but it doesn't appear to cause any crashes/hangs/denial of service/etc as far as I can tell. This bug can be closed out.
  • Nov 20, 2009
    issue 258 (using .length() instead of .length causes server problem) commented on by dtynan   -   This may just be my installation ... please ignore this defect for the moment while I verify.
    This may just be my installation ... please ignore this defect for the moment while I verify.
  • Nov 20, 2009
    r672 (throw an error for xml-rpc failures) committed by kriszyp   -   throw an error for xml-rpc failures
    throw an error for xml-rpc failures
  • Nov 20, 2009
    r671 (Updated querying) committed by kriszyp   -   Updated querying
    Updated querying
  • Nov 20, 2009
    r670 (query refactoring) committed by kriszyp   -   query refactoring
    query refactoring
 
Hosted by Google Code