Integrity constraint checking and connection management

0 views
Skip to first unread message

Andrea Westerinen

unread,
Apr 11, 2013, 6:20:52 PM4/11/13
to sta...@clarkparsia.com
We are seeing some strange behavior with our connections and integrity constraint processing.

We have a connection pool and get all of our connections from it.  When we need an integrity check, we take the connection and merge it with a constraint validator.    We then add our constraints and check for violations in a specific named graph.  When finished with the connection, we return it to the pool.

We have 2 problems:

1. We randomly see violations when the data should be good (using a snarl url but not an http url)
    - Note that these same tests pass when run individually
2. Once we see the erroneous violation, all further tests (on good data) fail with integrity violations

Note that tests that should throw violations (because of invalid data) do actually work for both connections.

I will send a stack trace of the initial error and the subsequent failures offline.

Please advise!  Thanks.
Andrea

Kendall Clark

unread,
Apr 11, 2013, 6:35:33 PM4/11/13
to stardog

With 1.1.5?

--
-- --
You received this message because you are subscribed to the C&P "Stardog" group.
To post to this group, send email to sta...@clarkparsia.com
To unsubscribe from this group, send email to
stardog+u...@clarkparsia.com
For more options, visit this group at
http://groups.google.com/a/clarkparsia.com/group/stardog?hl=en
 
 

Andrea Westerinen

unread,
Apr 11, 2013, 6:52:23 PM4/11/13
to Stardog
With 1.1.3.

Mike Grove

unread,
Apr 12, 2013, 9:14:43 AM4/12/13
to stardog
As I mentioned offline, the error has nothing to do with ICV, it's a connection management issue where a thread in our HTTP server attempts to handle two requests which violates the restriction that a thread can only service a single request at a time resulting in the exception.

That you see violations in the tests after this occurs seems to suggest that the Connection where this happens is not correctly rolled back and modifications made by subsequent tests are not made against a clean Connection.  You might double check the error handling in these cases and your test setup & tear down methods.

Cheers,

Mike 
Reply all
Reply to author
Forward
0 new messages