mvn package fails with a number of different problems in tests (mainly it cannot find different SNAPSHOT dependencies) unless I do -DskipTests=true
With this caveat, multi byterange support does not look like it is working. My second test: $ curl -v -u admin:admin -H "Range: bytes=0-20,21-63" http://localhost:8080/index.html * About to connect() to localhost port 8080 (#0) * Trying 127.0.0.1... * Connected to localhost (127.0.0.1) port 8080 (#0) * Server auth using Basic with user 'admin' > GET /index.html HTTP/1.1 > Authorization: Basic YWRtaW46YWRtaW4= > User-Agent: curl/7.29.0 > Host: localhost:8080 > Accept: */* > Range: bytes=0-20,21-63 > < HTTP/1.1 206 Partial Content < Date: Wed, 23 Oct 2013 13:34:15 GMT < Last-Modified: Wed, 23 Oct 2013 13:21:17 GMT < Content-Type: multipart/byteranges; boundary=SLING_MIME_BOUNDARY < Server: Jetty(7.x.y-SNAPSHOT) * no chunk, no close, no size. Assume close to signal end < --SLING_MIME_BOUNDARY Content-Type: text/html Content-Range: bytes 0-20/5898 <html> <!-- License --SLING_MIME_BOUNDARY Content-Type: text/html Content-Range: bytes 21-63/5898 d to the Apache Software Foundation (ASF) u^C # I had to Ctrl-C to stop the stalled request As curl points, the response has no chunk transfer encoding, no Content-Length, no "Connection: close". This is violation of HTTP, one of the three things is required or the client gets confused, as you see here (I had to use Ctrl-C to make the test end). curl was waiting for a connection close to signal the end of the response, and sling was waiting for a new request arriving throug the same socket... I'm not sure if it has been reported, but it is out of scope of the users@jackrabbit... list in any case. Single range support seems reasonable, though, and it is what we really require. I stilll need to find out if handling of binaries is done efficiently, without copying to java.io.tmpdir or reading into memory, and a number of other tests. Also, sling has way too many dependencies that are completely out of scope for our requirements, and getting it trimmed down to something about the size of jackrabbit would be needed... I'll keep checking our alternatives... Regards Santiago On Wed, Oct 23, 2013 at 1:10 PM, Robert Munteanu <[email protected]> wrote: > On Wed, Oct 23, 2013 at 2:06 PM, Santiago Gala <[email protected]> > wrote: > > On Wed, Oct 23, 2013 at 1:01 PM, Robert Munteanu <[email protected]> wrote: > > > >> On Wed, Oct 23, 2013 at 1:40 PM, Santiago Gala <[email protected] > > > >> wrote: > >> > On Wed, Oct 23, 2013 at 1:51 AM, Alexander Klimetschek > >> > <[email protected]>wrote: > >> > > >> >> On 22.10.2013, at 08:31, Santiago Gala <[email protected]> > wrote: > >> >> > >> >> > On Tue, Oct 15, 2013 at 12:10 PM, Julian Reschke < > >> [email protected] > >> >> >wrote: > >> >> > > >> >> >> Well, if this (Range request support) is indeed missing, we really > >> >> really > >> >> >> should add it. > >> >> > > >> >> > Adding support for single range requests for GET (i.e., requests > >> without > >> >> a > >> >> > comma in the Range: Header) seems easy enough. This is what > openstack > >> >> > storage/swift object storage supports (one of the alternatives to > >> >> > JCR/jackrabbit or modeshape we are considering). > >> >> > >> >> Apache Sling supports range requests with JCR underneath via it's > >> default > >> >> GET servlet [0]. (And yes, WebDAV is supported as well, but in most > >> cases > >> >> people don't actually need WebDAV but simply full HTTP GET etc. > support > >> on > >> >> top of JCR, which is what Sling provides out of the box). > >> >> > >> >> [0] > >> >> > >> > http://svn.apache.org/repos/asf/sling/trunk/bundles/servlets/get/src/main/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServlet.java > >> >> > >> >> > >> > When trying to check it (again, it was some time since I last > installed > >> > and tested it), I'm getting > >> > https://issues.apache.org/jira/browse/SLING-3067 . i just download > >> > sling-standalone current and run it as > >> > $ java -jar ~/Downloads/org.apache.sling.launchpad-6-standalone.jar > >> > I get an exception and it never starts. It is the same exception as in > >> this > >> > error. > >> > > >> > 23.10.2013 12:34:48.439 *INFO* [main] Setting sling.home=sling > (default) > >> > 23.10.2013 12:34:48.440 *INFO* [main] Starting Sling in sling > >> > (/home/sgala/sling) > >> > 23.10.2013 12:34:48.446 *INFO* [main] Checking launcher JAR in folder > >> sling > >> > 23.10.2013 12:34:48.455 *INFO* [main] Installing new launcher: > >> > > >> > jar:file:/home/sgala/Downloads/org.apache.sling.launchpad-6-standalone.jar!/resources/org.apache.sling.launchpad.base.jar, > >> > 2.3.0 (org.apache.sling.launchpad.base.jar.1382524488454) > >> > 23.10.2013 12:34:48.456 *INFO* [main] Loading launcher class > >> > org.apache.sling.launchpad.base.app.MainDelegate from > >> > org.apache.sling.launchpad.base.jar.1382524488454 > >> > 23.10.2013 12:34:48.469 *INFO* [main] Starting launcher ... > >> > 23.10.2013 12:34:48.471 *INFO* [main] HTTP server port: 8080 > >> > 23.10.2013 12:34:48.530 *ERROR* [main] Failed to Start OSGi framework > >> > org.osgi.framework.BundleException: Uncaught Instantiation Issue: > >> > java.lang.ArrayIndexOutOfBoundsException: -1 > >> > at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:245) > >> > at > >> > > >> > org.apache.sling.launchpad.base.app.MainDelegate$1.<init>(MainDelegate.java:159) > >> > at > >> > > >> > org.apache.sling.launchpad.base.app.MainDelegate.start(MainDelegate.java:159) > >> > at org.apache.sling.launchpad.app.Main.startSling(Main.java:244) > >> > at org.apache.sling.launchpad.app.Main.<init>(Main.java:107) > >> > at org.apache.sling.launchpad.app.Main.main(Main.java:56) > >> > Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 > >> > at java.util.ArrayList.elementData(ArrayList.java:371) > >> > at java.util.ArrayList.get(ArrayList.java:384) > >> > at > >> > > >> > org.apache.felix.framework.BundleImpl.getCurrentModule(BundleImpl.java:1046) > >> > at > >> > > >> > org.apache.felix.framework.BundleImpl.getSymbolicName(BundleImpl.java:863) > >> > at > >> > > >> > org.apache.sling.launchpad.base.impl.SlingFelix.getSymbolicName(SlingFelix.java:32) > >> > at org.apache.felix.framework.Felix.toString(Felix.java:1012) > >> > at org.apache.felix.framework.Logger.doLog(Logger.java:128) > >> > at org.apache.felix.framework.Logger._log(Logger.java:181) > >> > at org.apache.felix.framework.Logger.log(Logger.java:114) > >> > at > >> > > >> > org.apache.felix.framework.ExtensionManager.<init>(ExtensionManager.java:201) > >> > at org.apache.felix.framework.Felix.<init>(Felix.java:374) > >> > at > >> > > >> > org.apache.sling.launchpad.base.impl.SlingFelix.<init>(SlingFelix.java:39) > >> > at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:235) > >> > ... 5 more > >> > 23.10.2013 12:34:48.532 *ERROR* [main] There was a problem launching > >> Sling > >> > 23.10.2013 12:34:48.532 *INFO* [Sling Terminator] Java VM is shutting > >> down > >> > > >> > > >> > Any workaround or version that works and I can try? > >> > >> Simplest is running the Jar using Java 6. > >> > > > > DOH, openjdk-6 is notoriously buggy, so we use openjdk 7 to be able to > have > > a reasonable open source java and not having to go through all the > troubles > > of installing Oracle packages and deal with their maintenance... All our > > stack runs with openjdk-7 > > Fair enough. > > > > > Is there a sling version that can run with openjdk 7? I can build it > myself > > if needed... > > > http://sling.apache.org/documentation/development/getting-and-building-sling.html > > The tl;dr should be enough. > > Robert > > > > > > > > >> Robert > >> > >> > > >> > > >> >> Cheers, > >> >> Alex > >> >> > >> > >> > >> > >> -- > >> Sent from my (old) computer > >> > > > > -- > Sent from my (old) computer >
