[ 
https://issues.apache.org/jira/browse/JENA-600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13838905#comment-13838905
 ] 

ASF subversion and git services commented on JENA-600:
------------------------------------------------------

Commit 1547798 from [~rvesse] in branch 'jena/trunk'
[ https://svn.apache.org/r1547798 ]

Fix for JENA-600, if the uploaded file has a .gz extension be sure to wrap the 
incoming input stream in a GZipInputStream

> Fuseki Upload does not support compressed data e.g. GZip
> --------------------------------------------------------
>
>                 Key: JENA-600
>                 URL: https://issues.apache.org/jira/browse/JENA-600
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Fuseki
>    Affects Versions: Fuseki 1.0.0
>            Reporter: Rob Vesse
>            Assignee: Rob Vesse
>             Fix For: Fuseki 1.0.1
>
>
> If you want to upload a large file to Fuseki it would be nice if it supported 
> compressed data formats such as GZip.
> Currently trying to upload a GZipped file results in the following:
> {noformat}
> 13:00:01 INFO  Fuseki               :: [1] POST 
> http://localhost:3030/ds/upload
> 13:00:01 INFO  Fuseki               :: [1] Upload: Filename: 
> med-triangles.nt.gz, Content-Type=application/x-gzip, Charset=null => 
> N-Triples
> org.apache.jena.atlas.AtlasException: 
> java.nio.charset.MalformedInputException: Input length = 1
>       at org.apache.jena.atlas.io.IO.exception(IO.java:206)
>       at 
> org.apache.jena.atlas.io.CharStreamBuffered$SourceReader.fill(CharStreamBuffered.java:79)
>       at 
> org.apache.jena.atlas.io.CharStreamBuffered.fillArray(CharStreamBuffered.java:156)
>       at 
> org.apache.jena.atlas.io.CharStreamBuffered.advance(CharStreamBuffered.java:139)
>       at 
> org.apache.jena.atlas.io.PeekReader.advanceAndSet(PeekReader.java:251)
>       at org.apache.jena.atlas.io.PeekReader.init(PeekReader.java:244)
>       at org.apache.jena.atlas.io.PeekReader.peekChar(PeekReader.java:169)
>       at org.apache.jena.atlas.io.PeekReader.makeUTF8(PeekReader.java:108)
>       at 
> org.apache.jena.riot.tokens.TokenizerFactory.makeTokenizerUTF8(TokenizerFactory.java:41)
>       at org.apache.jena.riot.RiotReader.createParser(RiotReader.java:130)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_REST.parse(SPARQL_REST.java:298)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_Upload.uploadWorker(SPARQL_Upload.java:236)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_Upload.uploadNonTxn(SPARQL_Upload.java:124)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_Upload.upload(SPARQL_Upload.java:117)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_Upload.perform(SPARQL_Upload.java:83)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeLifecycle(SPARQL_ServletBase.java:184)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeAction(SPARQL_ServletBase.java:165)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.execCommonWorker(SPARQL_ServletBase.java:153)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_ServletBase.java:73)
>       at 
> org.apache.jena.fuseki.servlets.SPARQL_Upload.doPost(SPARQL_Upload.java:66)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:457)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>       at org.eclipse.jetty.server.Server.handle(Server.java:370)
>       at 
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
>       at 
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
>       at 
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
>       at 
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
>       at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
>       at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>       at 
> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
>       at 
> org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:298)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>       at java.lang.Thread.run(Thread.java:744)
> Caused by: java.nio.charset.MalformedInputException: Input length = 1
>       at java.nio.charset.CoderResult.throwException(CoderResult.java:277)
>       at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:338)
>       at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
>       at java.io.InputStreamReader.read(InputStreamReader.java:184)
>       at java.io.Reader.read(Reader.java:140)
>       ... 42 more
> {noformat}
> It should be possible to determine the appropriate type by examining the file 
> extension of the attachments and then open an appropriate GZip stream over 
> the uploaded data stream.
> I'm gonna take a look at doing this later today.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to