Thanks Andy,
I will debug it and try to be more specific. Can you tell me what this
means:

2014-03-11 12:41:46,450 WARN  [Log.java:78] : Inconsistency:
base.allocOffset() = 26461 : allocOffset = 24849

It happens when I try to commit the data set.

And I guess it's ok to perform the transactions on the dataset and not the
mode, right?


On Tue, Mar 11, 2014 at 4:46 AM, Andy Seaborne <[email protected]> wrote:

> On 11/03/14 00:26, Joakim Soderberg wrote:
>
>> Hi,
>> I am implemented transaction handling based on Jena TDB 2.11 on Tomcat.
>>
>> But when initializing the model accordingly:
>>
>
> This code depends on several external definitions.
>
>
>
>> if( file.exists() ) {
>>   dataset = TDBFactory.createDataset(tdbDirectory)
>>
>
> Does not compile.
>
>
>  dataset.begin(ReadWrite.WRITE);
>> mRootModel = dataset.getDefaultModel();
>> try {
>> dataset.commit();
>> } catch (Exception ex) {
>> System.out.println("*** error initilizing dataset: " + ex + "
>> [DataManager/Initialize] ");
>> } finally {
>>    dataset.end();
>> }
>> } else {
>> file.mkdir();
>> }
>>
>> if( mRootModel == null || mRootModel.isEmpty() ) {
>> dataset.begin(ReadWrite.WRITE);
>> loadOntology();
>> try {
>> dataset.commit();
>>
>
> If loadOntology() fails for any reason, this code does not clear up the
> transaction.
>
> try {
>   loadOntology();
>   dataset.commit();
> } catch (Exception ex) {
>   dataset.abort() ;
> } finally {
> >      dataset.end();
>
> > }
>
>
>  } catch (Exception ex) {
>> System.out.println("*** error loading model: " + ex + "
>> [DataManager/Initialize]");
>> } finally {
>>      dataset.end();
>> }
>> }
>>
>> I get the following errors:
>>
>> Updated default model. Size: 0 [DataManager/Initialize]
>>
>
> The text "Updated default model" isn't in the code above!
>
>
>  2014-03-10 16:02:31,972 ERROR [Log.java:94] : Not active: 1
>> 2014-03-10 16:02:31,982 ERROR [Log.java:94] : **** Not active: 1
>> 2014-03-10 16:02:31,983 ERROR [Log.java:94] : Not active: 1
>> 2014-03-10 16:02:31,984 ERROR [Log.java:94] : **** Not active: 1
>>
>
> Attempt to commit or abort when there is no begin.
>
>
>  2014-03-10 16:02:31,985 ERROR [Log.java:94] : Not active: 1
>> 2014-03-10 16:02:31,985 ERROR [Log.java:94] : **** Not active: 1
>> 2014-03-10 16:02:32,598 ERROR [Log.java:94] : Not active: 1
>> 2014-03-10 16:02:32,599 ERROR [Log.java:94] : **** Not active: 1
>> 2014-03-10 16:02:32,616 WARN  [Log.java:78] : Block not recognized: 24576
>> 2014-03-10 16:02:32,622 ERROR [Log.java:94] : Not active: 1
>> 2014-03-10 16:02:32,623 ERROR [Log.java:94] : **** Not active: 1
>> 2014-03-10 16:02:32,632 WARN  [Log.java:78] : Block not recognized: 24576
>> 2014-03-10 16:02:32,634 ERROR [Log.java:94] : Not active: 1
>> 2014-03-10 16:02:32,634 ERROR [Log.java:94] : **** Not active: 1
>> 2014-03-10 16:02:32,643 WARN  [Log.java:78] : Block not recognized: 24576
>> Added default model. Size: 443 [DataManager]
>> 2014-03-10 16:02:38,721 WARN  [Log.java:78] : Inconsistency:
>> base.allocOffset() = 55554 : allocOffset = 53904
>> -------------------------
>> Does it mean the transaction is not active?
>>
>> and when committing the model it generates the error:
>>
>>   Inconsistency: base.allocOffset() = 55554 : allocOffset = 53904
>>
>> I have trouble understand what happens. What does the '1' mean in "Not
>> active 1"?
>>
>
> Internal Id for the transaction.
>
>
>  and does " Inconsistency: base.allocOffset() = 55554 : allocOffset =
>> 53904"
>> indicate that TDB did not persist? And What us Block 24576?
>>
>
> Possibly, you have multiple accesses to the DB without proper transaction
> control.  As it's in tomcat are there multiple http requests?
>
> Hard to tell from the sample above but if loadOntology() breaks, all sorts
> of trouble may result.
>
>
>> /Joakim
>>
>>
>

Reply via email to