GitHub user samaitra opened a pull request:

    https://github.com/apache/jena/pull/95

    JENA-626 SPARQL Query Caching

    The implementation of SPARQL Query Caching. The initial idea was to create 
a separate service endpoint that invokes SPARQL_Query. The challenge we faced 
was to intercept the results data when it is directly written into 
ServletOutputStream. Currently the results data is copied into cacheBuilder 
object before it is written to ServletOutputStream. The implementation caches 
the results for 5 mins and then it invalidates the cache.
    
    We have seen good performance benefit with initial test data.
    
    [2015-10-17 15:43:21] Fuseki     INFO  [2] GET 
http://localhost:3030/ds/data?default
    [2015-10-17 15:43:21] Fuseki     INFO  [2] GET /ds :: 'data' :: <none> ? 
default
    [2015-10-17 15:43:21] Fuseki     INFO  [2] 200 OK (62 ms)
    [2015-10-17 15:43:33] Fuseki     INFO  [3] GET 
http://localhost:3030/ds/data?default
    [2015-10-17 15:43:33] Fuseki     INFO  [3] GET /ds :: 'data' :: <none> ? 
default
    [2015-10-17 15:43:33] Fuseki     INFO  [3] 200 OK (7 ms)
    [2015-10-17 15:43:50] Fuseki     INFO  [4] GET 
http://localhost:3030/ds/data?default
    [2015-10-17 15:43:50] Fuseki     INFO  [4] GET /ds :: 'data' :: <none> ? 
default
    [2015-10-17 15:43:50] Fuseki     INFO  [4] 200 OK (7 ms) 

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/samaitra/jena master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/jena/pull/95.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #95
    
----
commit 5d046600a0c684611670a760e32e45d3bc7bc671
Author: Saikat Maitra <[email protected]>
Date:   2015-01-25T18:14:00Z

    CacheStore implementation

commit dda29d6512eb1b641cc9e97777b4071e7375cb59
Author: Saikat Maitra <[email protected]>
Date:   2015-01-26T16:54:31Z

    Guava Cache Client implementation and Cache Store key generation

commit 3f54bff4eadda5f18ccf1328418351b94b2c6d36
Author: samaitra <[email protected]>
Date:   2015-01-29T10:38:30Z

    Merge remote-tracking branch 'upstream/master'

commit 1241d8bf6e22b005487993f2b0b1eabb1604f4d4
Author: samaitra <[email protected]>
Date:   2015-01-30T12:19:53Z

    singleton for cachestore and read value from cache

commit e984a8fea7c8e3ab167b52990db1545366ed133f
Author: samaitra <[email protected]>
Date:   2015-01-30T17:55:34Z

    CacheAction definition and implementation

commit 5ef4e9e0f5c24abd7a1b54ca9120146c33ca8c63
Author: samaitra <[email protected]>
Date:   2015-01-31T19:05:38Z

    building cache

commit a6d5b6c7f00bdbf0f00d80612f3a6c5d12af8b3f
Author: samaitra <[email protected]>
Date:   2015-01-31T19:06:20Z

    Merge remote-tracking branch 'upstream/master'

commit 6a2b18b545437cb2a644015553d1249b362ce102
Author: samaitra <[email protected]>
Date:   2015-02-01T05:32:50Z

    building cache

commit 74a956c526f65f460cffd20450d4d73c7b0c4f8e
Author: samaitra <[email protected]>
Date:   2015-02-01T11:21:31Z

    building cache

commit 0bea5bcaaa07ae484bcae4ddf6342587d7c8e110
Author: samaitra <[email protected]>
Date:   2015-02-02T19:19:02Z

    building cache

commit 0bd496c3e385feea728db37d73179c9d472f5bec
Author: samaitra <[email protected]>
Date:   2015-02-03T10:27:36Z

    Cache initialization

commit 83f817f4059db8b4ed9f89aed48e221960b4ff9a
Author: Saikat Maitra <[email protected]>
Date:   2015-02-07T16:18:34Z

    Merge remote-tracking branch 'upstream/master'

commit 86f16b69a2b01144abab98c68c06c3c5d3e2406e
Author: Saikat Maitra <[email protected]>
Date:   2015-02-22T15:01:36Z

    Merge remote-tracking branch 'upstream/master'

commit 97a4a559940a6c3ddb4b18e5cc2b64be57c45269
Author: Saikat Maitra <[email protected]>
Date:   2015-02-28T05:11:09Z

    Merge remote-tracking branch 'upstream/master'

commit 24ebeb0a4d49abeb53149d6b879006729a98bbd6
Author: Saikat Maitra <[email protected]>
Date:   2015-03-14T17:49:30Z

    Merge branch 'master' of https://github.com/samaitra/jena

commit 9057022315f7ef0e3dca2406b160f42b5d884901
Author: samaitra <[email protected]>
Date:   2015-06-27T11:06:59Z

    Merge remote-tracking branch 'upstream/master'
    
    # Conflicts:
    #   jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFormatter.java
    #   jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutput.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/OutputFormatter.java
    #   jena-arq/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java

commit 4df6b347d78c2b01082bdb000a5e18272deb347f
Author: samaitra <[email protected]>
Date:   2015-06-27T11:07:28Z

    Merge remote-tracking branch 'upstream/master'

commit d627277cc37419d5337efdb8caac1e2f38d821f6
Author: samaitra <[email protected]>
Date:   2015-06-27T11:08:01Z

    Merge remote-tracking branch 'upstream/master'
    
    # Conflicts:
    #   jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFormatter.java
    #   jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutput.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/OutputFormatter.java
    #   jena-arq/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java

commit 2fe4ee16d431d1ced049b59572e67a47c956d3ac
Author: samaitra <[email protected]>
Date:   2015-07-04T14:42:32Z

    Merge remote-tracking branch 'upstream/master'

commit 44aec21ebb8ea2b550b058729a4a7ba543551eb4
Author: samaitra <[email protected]>
Date:   2015-07-04T15:34:52Z

    Merge remote-tracking branch 'upstream/master'
    
    # Conflicts:
    #   jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFormatter.java
    #   jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutput.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
    #   
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/OutputFormatter.java
    #   jena-arq/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java

commit 618c319f6ec2772df66536a0db10cc369f40cc73
Author: samaitra <[email protected]>
Date:   2015-07-25T12:12:40Z

    Merge remote-tracking branch 'upstream/master'

commit 488ffcbea7311a1821e7a29821c5f67e4e4565c8
Author: samaitra <[email protected]>
Date:   2015-07-25T13:26:39Z

    updated ResponseResultSet to clean up cache references

commit 48d4094769d8d0f315c78b0287df33def2624b33
Author: samaitra <[email protected]>
Date:   2015-08-01T17:54:56Z

    Merge remote-tracking branch 'upstream/master'

commit 7d933dd2d8690e5ca2e33376e6cd02e3546e8aaa
Author: samaitra <[email protected]>
Date:   2015-08-01T18:04:58Z

    changed the data type to String

commit 39664ef8e13a280e0306208028cb4eee564c01ee
Author: samaitra <[email protected]>
Date:   2015-09-13T04:48:07Z

    changed the data type to String

commit 2bc5e7123ac37f640e36e7215f77925d9a2aab56
Author: samaitra <[email protected]>
Date:   2015-09-13T04:53:55Z

    Merge remote-tracking branch 'upstream/master'
    
    # Conflicts:
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java

commit 77f405778e4d8d5365cebbfe527a915939c779e2
Author: Saikat Maitra <[email protected]>
Date:   2015-10-03T23:13:50Z

    Merge remote-tracking branch 'upstream/master'
    
    Conflicts:
        jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFormatter.java
        jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutput.java
        
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
        
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
        
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/OutputFormatter.java
        jena-arq/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java

commit 4422b592ea09be1441aa4353d27ac028bc194312
Author: Saikat Maitra <[email protected]>
Date:   2015-10-03T23:30:13Z

    Merge remote-tracking branch 'origin/master'
    
    Conflicts:
        jena-arq/src/main/java/org/apache/jena/riot/system/InitRIOT.java
        jena-arq/src/main/java/org/apache/jena/sparql/system/InitARQ.java
        
jena-core/src/main/java/org/apache/jena/system/JenaSubsystemLifecycle.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java

commit 9ef9154fa3019e4df32b93f427594dc25954e446
Author: Saikat Maitra <[email protected]>
Date:   2015-10-04T07:59:26Z

    Merge remote-tracking branch 'upstream/master'
    
    Conflicts:
        jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFormatter.java
        jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutput.java
        
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputASK.java
        
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/JSONOutputResultSet.java
        
jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/OutputFormatter.java
        jena-arq/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/server/FusekiServer.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
        
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java

commit 007f9cb595edfc14806ce56f0b76f4f9a97d4884
Author: samaitra <[email protected]>
Date:   2015-10-04T19:43:27Z

    Merge remote-tracking branch 'upstream/master'
    
    # Conflicts:
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryDataset.java
    #   
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to