You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Edgar Poce (JIRA)" <ji...@apache.org> on 2005/03/13 00:20:53 UTC
[jira] Updated: (JCR-63) /contrib/orm-persistence/ OJBPersistenceManager
[ http://issues.apache.org/jira/browse/JCR-63?page=history ]
Edgar Poce updated JCR-63:
--------------------------
Attachment: orm-ojb.patch
Patch
> /contrib/orm-persistence/ OJBPersistenceManager
> -----------------------------------------------
>
> Key: JCR-63
> URL: http://issues.apache.org/jira/browse/JCR-63
> Project: Jackrabbit
> Type: Bug
> Reporter: Edgar Poce
> Attachments: orm-ojb.patch
>
> OJBPersistenceManager seems to have the following problems
> 1. OJBPersistenceBroker inherites from AbstractPersistenceBroker. There's no
> need of using a non transactional implementation as the feature is available in
> jdbc.
> 2. A single broker is used and It's not thread-safe. This is not a problem now
> because it inherits from AbstractPersistenceManager, and the store(ChangeLog )
> method is synchronized.
> 3. The broker is never closed so it leaves an open connection.
> 4. There's no pooling with only one broker.
> 5 Each write method (e.g. store(NodeState state)) starts its own transaction
> but the transaction should start and end in store(ChangeLog log).
> 6. It never rollbacks, even when an item in the changelog can't be persisted.
> 7. The mysql example create MyISAM tables which don't support transactions.
> Innodb tables would be more appropriate.
> 8. jdbc to java type mapping is wrong for
> class: org.apache.jackrabbit.core.state.orm.ORMBlobValue
> field: size
> Changed from INTEGER to BIGINT
> 9. When a Blob value is loaded a ArrayStoreException is thrown because in
> load(PropertyId id) BlobFileValues are added to internalValueList instead of
> InternalValue instances.
> 10. in store(NodeReferences). When storing a NodeReferences which have some (but not all) the references deleted the OJB persistence Manager doesn't delete any one.
> Some of this problems are present in the Hibernate implementation.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
Re: [jira] Updated: (JCR-63) /contrib/orm-persistence/ OJBPersistenceManager
Posted by Stefan Guggisberg <st...@gmail.com>.
thanks serge!
cheers
stefan
On Thu, 17 Mar 2005 16:47:56 +0100, Serge Huber <sh...@jahia.com> wrote:
>
> Sorry I missed this one. I'll have a look at it asap.
>
> Regards,
> Serge Huber.
>
> Stefan Guggisberg wrote:
>
> >serge,
> >since you have contributed the OJBPersistenceManager code, could you
> >please have a look at edgar's patch?
> >
> >thanks
> >stefan
> >
> >
> >On Sun, 13 Mar 2005 00:20:53 +0100 (CET), Edgar Poce (JIRA)
> ><ji...@apache.org> wrote:
> >
> >
> >> [ http://issues.apache.org/jira/browse/JCR-63?page=history ]
> >>
> >>Edgar Poce updated JCR-63:
> >>--------------------------
> >>
> >> Attachment: orm-ojb.patch
> >>
> >>Patch
> >>
> >>
> >>
> >>>/contrib/orm-persistence/ OJBPersistenceManager
> >>>-----------------------------------------------
> >>>
> >>> Key: JCR-63
> >>> URL: http://issues.apache.org/jira/browse/JCR-63
> >>> Project: Jackrabbit
> >>> Type: Bug
> >>> Reporter: Edgar Poce
> >>> Attachments: orm-ojb.patch
> >>>
> >>>OJBPersistenceManager seems to have the following problems
> >>>1. OJBPersistenceBroker inherites from AbstractPersistenceBroker. There's no
> >>>need of using a non transactional implementation as the feature is available in
> >>>jdbc.
> >>>2. A single broker is used and It's not thread-safe. This is not a problem now
> >>>because it inherits from AbstractPersistenceManager, and the store(ChangeLog )
> >>>method is synchronized.
> >>>3. The broker is never closed so it leaves an open connection.
> >>>4. There's no pooling with only one broker.
> >>>5 Each write method (e.g. store(NodeState state)) starts its own transaction
> >>>but the transaction should start and end in store(ChangeLog log).
> >>>6. It never rollbacks, even when an item in the changelog can't be persisted.
> >>>7. The mysql example create MyISAM tables which don't support transactions.
> >>>Innodb tables would be more appropriate.
> >>>8. jdbc to java type mapping is wrong for
> >>>class: org.apache.jackrabbit.core.state.orm.ORMBlobValue
> >>>field: size
> >>>Changed from INTEGER to BIGINT
> >>>9. When a Blob value is loaded a ArrayStoreException is thrown because in
> >>>load(PropertyId id) BlobFileValues are added to internalValueList instead of
> >>>InternalValue instances.
> >>>10. in store(NodeReferences). When storing a NodeReferences which have some (but not all) the references deleted the OJB persistence Manager doesn't delete any one.
> >>>Some of this problems are present in the Hibernate implementation.
> >>>
> >>>
> >>--
> >>This message is automatically generated by JIRA.
> >>-
> >>If you think it was sent incorrectly contact one of the administrators:
> >> http://issues.apache.org/jira/secure/Administrators.jspa
> >>-
> >>If you want more information on JIRA, or have a bug to report see:
> >> http://www.atlassian.com/software/jira
> >>
> >>
> >>
> >>
> >
> >
> >
>
>
Re: [jira] Updated: (JCR-63) /contrib/orm-persistence/ OJBPersistenceManager
Posted by Serge Huber <sh...@jahia.com>.
Sorry I missed this one. I'll have a look at it asap.
Regards,
Serge Huber.
Stefan Guggisberg wrote:
>serge,
>since you have contributed the OJBPersistenceManager code, could you
>please have a look at edgar's patch?
>
>thanks
>stefan
>
>
>On Sun, 13 Mar 2005 00:20:53 +0100 (CET), Edgar Poce (JIRA)
><ji...@apache.org> wrote:
>
>
>> [ http://issues.apache.org/jira/browse/JCR-63?page=history ]
>>
>>Edgar Poce updated JCR-63:
>>--------------------------
>>
>> Attachment: orm-ojb.patch
>>
>>Patch
>>
>>
>>
>>>/contrib/orm-persistence/ OJBPersistenceManager
>>>-----------------------------------------------
>>>
>>> Key: JCR-63
>>> URL: http://issues.apache.org/jira/browse/JCR-63
>>> Project: Jackrabbit
>>> Type: Bug
>>> Reporter: Edgar Poce
>>> Attachments: orm-ojb.patch
>>>
>>>OJBPersistenceManager seems to have the following problems
>>>1. OJBPersistenceBroker inherites from AbstractPersistenceBroker. There's no
>>>need of using a non transactional implementation as the feature is available in
>>>jdbc.
>>>2. A single broker is used and It's not thread-safe. This is not a problem now
>>>because it inherits from AbstractPersistenceManager, and the store(ChangeLog )
>>>method is synchronized.
>>>3. The broker is never closed so it leaves an open connection.
>>>4. There's no pooling with only one broker.
>>>5 Each write method (e.g. store(NodeState state)) starts its own transaction
>>>but the transaction should start and end in store(ChangeLog log).
>>>6. It never rollbacks, even when an item in the changelog can't be persisted.
>>>7. The mysql example create MyISAM tables which don't support transactions.
>>>Innodb tables would be more appropriate.
>>>8. jdbc to java type mapping is wrong for
>>>class: org.apache.jackrabbit.core.state.orm.ORMBlobValue
>>>field: size
>>>Changed from INTEGER to BIGINT
>>>9. When a Blob value is loaded a ArrayStoreException is thrown because in
>>>load(PropertyId id) BlobFileValues are added to internalValueList instead of
>>>InternalValue instances.
>>>10. in store(NodeReferences). When storing a NodeReferences which have some (but not all) the references deleted the OJB persistence Manager doesn't delete any one.
>>>Some of this problems are present in the Hibernate implementation.
>>>
>>>
>>--
>>This message is automatically generated by JIRA.
>>-
>>If you think it was sent incorrectly contact one of the administrators:
>> http://issues.apache.org/jira/secure/Administrators.jspa
>>-
>>If you want more information on JIRA, or have a bug to report see:
>> http://www.atlassian.com/software/jira
>>
>>
>>
>>
>
>
>
Re: [jira] Updated: (JCR-63) /contrib/orm-persistence/ OJBPersistenceManager
Posted by Serge Huber <sh...@jahia.com>.
Hi Stefan,
I've looked and tested the patch. It looks all good. If you could please
commit it. Thanks Edgar for the heads up.
In the process of testing the patch I also saw quite a few issues due to
the fact that I didn't have time to update for all the recent changes in
Jackrabbit.
Once this patch is committed I'll send another patch with my changes if
that's ok.
Regards,
Serge Huber.
Stefan Guggisberg wrote:
>serge,
>since you have contributed the OJBPersistenceManager code, could you
>please have a look at edgar's patch?
>
>thanks
>stefan
>
>
>On Sun, 13 Mar 2005 00:20:53 +0100 (CET), Edgar Poce (JIRA)
><ji...@apache.org> wrote:
>
>
>> [ http://issues.apache.org/jira/browse/JCR-63?page=history ]
>>
>>Edgar Poce updated JCR-63:
>>--------------------------
>>
>> Attachment: orm-ojb.patch
>>
>>Patch
>>
>>
>>
>>>/contrib/orm-persistence/ OJBPersistenceManager
>>>-----------------------------------------------
>>>
>>> Key: JCR-63
>>> URL: http://issues.apache.org/jira/browse/JCR-63
>>> Project: Jackrabbit
>>> Type: Bug
>>> Reporter: Edgar Poce
>>> Attachments: orm-ojb.patch
>>>
>>>OJBPersistenceManager seems to have the following problems
>>>1. OJBPersistenceBroker inherites from AbstractPersistenceBroker. There's no
>>>need of using a non transactional implementation as the feature is available in
>>>jdbc.
>>>2. A single broker is used and It's not thread-safe. This is not a problem now
>>>because it inherits from AbstractPersistenceManager, and the store(ChangeLog )
>>>method is synchronized.
>>>3. The broker is never closed so it leaves an open connection.
>>>4. There's no pooling with only one broker.
>>>5 Each write method (e.g. store(NodeState state)) starts its own transaction
>>>but the transaction should start and end in store(ChangeLog log).
>>>6. It never rollbacks, even when an item in the changelog can't be persisted.
>>>7. The mysql example create MyISAM tables which don't support transactions.
>>>Innodb tables would be more appropriate.
>>>8. jdbc to java type mapping is wrong for
>>>class: org.apache.jackrabbit.core.state.orm.ORMBlobValue
>>>field: size
>>>Changed from INTEGER to BIGINT
>>>9. When a Blob value is loaded a ArrayStoreException is thrown because in
>>>load(PropertyId id) BlobFileValues are added to internalValueList instead of
>>>InternalValue instances.
>>>10. in store(NodeReferences). When storing a NodeReferences which have some (but not all) the references deleted the OJB persistence Manager doesn't delete any one.
>>>Some of this problems are present in the Hibernate implementation.
>>>
>>>
>>--
>>This message is automatically generated by JIRA.
>>-
>>If you think it was sent incorrectly contact one of the administrators:
>> http://issues.apache.org/jira/secure/Administrators.jspa
>>-
>>If you want more information on JIRA, or have a bug to report see:
>> http://www.atlassian.com/software/jira
>>
>>
>>
>>
>
>
>
Re: [jira] Updated: (JCR-63) /contrib/orm-persistence/ OJBPersistenceManager
Posted by Stefan Guggisberg <st...@gmail.com>.
serge,
since you have contributed the OJBPersistenceManager code, could you
please have a look at edgar's patch?
thanks
stefan
On Sun, 13 Mar 2005 00:20:53 +0100 (CET), Edgar Poce (JIRA)
<ji...@apache.org> wrote:
> [ http://issues.apache.org/jira/browse/JCR-63?page=history ]
>
> Edgar Poce updated JCR-63:
> --------------------------
>
> Attachment: orm-ojb.patch
>
> Patch
>
> > /contrib/orm-persistence/ OJBPersistenceManager
> > -----------------------------------------------
> >
> > Key: JCR-63
> > URL: http://issues.apache.org/jira/browse/JCR-63
> > Project: Jackrabbit
> > Type: Bug
> > Reporter: Edgar Poce
> > Attachments: orm-ojb.patch
> >
> > OJBPersistenceManager seems to have the following problems
> > 1. OJBPersistenceBroker inherites from AbstractPersistenceBroker. There's no
> > need of using a non transactional implementation as the feature is available in
> > jdbc.
> > 2. A single broker is used and It's not thread-safe. This is not a problem now
> > because it inherits from AbstractPersistenceManager, and the store(ChangeLog )
> > method is synchronized.
> > 3. The broker is never closed so it leaves an open connection.
> > 4. There's no pooling with only one broker.
> > 5 Each write method (e.g. store(NodeState state)) starts its own transaction
> > but the transaction should start and end in store(ChangeLog log).
> > 6. It never rollbacks, even when an item in the changelog can't be persisted.
> > 7. The mysql example create MyISAM tables which don't support transactions.
> > Innodb tables would be more appropriate.
> > 8. jdbc to java type mapping is wrong for
> > class: org.apache.jackrabbit.core.state.orm.ORMBlobValue
> > field: size
> > Changed from INTEGER to BIGINT
> > 9. When a Blob value is loaded a ArrayStoreException is thrown because in
> > load(PropertyId id) BlobFileValues are added to internalValueList instead of
> > InternalValue instances.
> > 10. in store(NodeReferences). When storing a NodeReferences which have some (but not all) the references deleted the OJB persistence Manager doesn't delete any one.
> > Some of this problems are present in the Hibernate implementation.
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> http://issues.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
> http://www.atlassian.com/software/jira
>
>