Comments (4)
Hi @awoestmann - could you give some context because the stacktrace isn't enough to investigate.
- What is the server configuration - the stack trace has
DatasetImpl
so is it some kind of configuration file setup. - What operation of the server is this occurring at the time of the stacktrace?
- How is data loaded into this dataset?
- Is it HTTP/1 or HTTP/2 connections to the server?
- Are calling clients properly ending their closing their HTTP connections?
from jena.
Hi @afs,
thanks for quick reply.
I will try to give you some context:
What is the server configuration - the stack trace has DatasetImpl so is it some kind of configuration file setup.
I am not entirely sure what you mean here. We are creating the dataset using something like:
Dataset dataset = TDB2Factory.connectDataset("path/to/tdb/dir")
What operation of the server is this occurring at the time of the stacktrace?
At the time of the stacktrace the server is handling a request that should return the result of a sparql query. The error then occurs when we start the transaction to execute the query:
dataset.begin(TxnType.READ);
try {
//Execute query and return result
} finally {
dataset.end();
}
How is data loaded into this dataset?
Like mentioned above we are using TDB2Factory.connectDataset(String location)
once when the REST-Controller is created.
Is it HTTP/1 or HTTP/2 connections to the server?
We only have HTTP/1 connections.
Are calling clients properly ending their closing their HTTP connections?
It looks like the connections are closed properly, we could not find any requests with connections that have been aborted before the response was sent.
from jena.
What is the server configuration - the stack trace has DatasetImpl so is it some kind of configuration file setup.
I am not entirely sure what you mean here. We are creating the dataset using something like:
Andy initially assumed that this was an issue with the Fuseki server provided by the project, likely because the potential related issue you referenced was specific to Fuseki.
Like mentioned above we are using
TDB2Factory.connectDataset(String location)
once when the REST-Controller is created.
Are you certain that is only gets created once? Depending on what REST framework you are using there's no guarantee that it doesn't create and destroy instances of your REST controller over the lifetime of your server, have you tried adding some logging to verify whether this is the case?
The REST framework used may be a pertinent detail here.
from jena.
Yes, I was assuming this was inside Fuseki because of the link to #1499.
TDB2Factory.connectDataset
returns the same dataset on all calls for the same location. There's a computeIfAbsent
cache.
There shouldn't be a need to create it more than once and keep an object reference.
Is the TDB2Factory.connectDataset
always was same directory path?
I'm assuming that writes are not blocking before this problem is seen.
It looks like somewhere that is a code path which is not ending a read transaction code.
That's what was behind #1499.
from jena.
Related Issues (20)
- Support for SPARQL CDTs (lists and maps as literals) HOT 1
- Using a reasoner to retrieve individuals beloning to a Class HOT 3
- How do you work with jena-fuseki-ui for local development? HOT 4
- Update jena-text to use Lucene in a Java21 compatible way.
- Always use hash joins when joining VALUES blocks HOT 3
- Prefixes Service
- More granular control over Blank node serialization HOT 1
- Error parsing linkedart context definition HOT 2
- ResultSetException: Datatype is rdf:langString but no language given HOT 3
- `UNDEF` in `VALUES` doesn't work with `SERVICE` HOT 4
- Provide a framework for normalizing RDF terms
- Titanium JSON-LD processor no longer supported HOT 1
- Move test log4j setting from log4j.properties to log4j2-test.properties
- Inconsistent default graph handling in RIOT writers HOT 3
- RDFLink: API for passing raw query strings to backend HOT 3
- SPARQL query round-trip serialization error HOT 1
- `jena-arq` module introduces a JUnit dependency into compile scope HOT 1
- Clean up AuthBearerFilter
- Align building of shared jars
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jena.