SPARQLRepository SparqlSession should have a configurable MAXIMUM_URL_LENGTH

Description

I've just tried upgrading one of our applications from Sesame 2.7.16 to Sesame 2.9.0 and have run into a problem caused by the change SES-2039. Jeen rightly predicted that this change might break backward compatability for some, as it turns out that the Stardog store (at least versions 3.1.4 and 4.0.0-4.0.3) has a default URL limit of 4084 characters (4096 if you also include the prefix string "GET " and the suffix " HTTP 1.1" from the HTTP requests request line).

Not being able to set this means that queries via SPARQLRepository that serialise to 4084 characters or more fail on the Stardog store.

I'm also pursuing the possibility of configuring that limit with Stardog, but it has occurred to me that making the limits on both sides configurable is probably a good idea; because results of GET requests are potentially cacheable by proxies etc.

So when you have the luxury of controlling both the client and the server (as we often do) it might desirable to set this value to the same high value on both, as it opens up the possibility of clients and servers to one day implement better result caching via etags etc...

Environment

None

Assignee

Jeen Broekstra

Reporter

Rick Moynihan

Labels

None

Components

Affects versions

Priority

Major
Configure