jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Santiago Gala <santiago.g...@gmail.com>
Subject Re: Evaluating jackrabbit use for media content
Date Wed, 23 Oct 2013 15:00:17 GMT
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 <robert@lmn.ro> wrote:

> On Wed, Oct 23, 2013 at 2:06 PM, Santiago Gala <santiago.gala@gmail.com>
> wrote:
> > On Wed, Oct 23, 2013 at 1:01 PM, Robert Munteanu <robert@lmn.ro> wrote:
> >
> >> On Wed, Oct 23, 2013 at 1:40 PM, Santiago Gala <santiago.gala@gmail.com
> >
> >> wrote:
> >> > On Wed, Oct 23, 2013 at 1:51 AM, Alexander Klimetschek
> >> > <aklimets@adobe.com>wrote:
> >> >
> >> >> On 22.10.2013, at 08:31, Santiago Gala <santiago.gala@gmail.com>
> wrote:
> >> >>
> >> >> > On Tue, Oct 15, 2013 at 12:10 PM, Julian Reschke <
> >> julian.reschke@gmx.de
> >> >> >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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message