rave-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Franklin, Matthew B." <mfrank...@mitre.org>
Subject Re: Reintegrating Model Interfaces Branch
Date Tue, 26 Jun 2012 14:12:42 GMT


On 6/25/12 3:53 PM, "Franklin, Matthew B." <mfranklin@mitre.org> wrote:

>On 6/25/12 1:11 PM, "Franklin, Matthew B." <mfranklin@mitre.org> wrote:
>
>>On 6/25/12 8:33 AM, "Jasha Joachimsthal" <jasha@apache.org> wrote:
>>
>>>On 25 June 2012 14:00, Franklin, Matthew B. <mfranklin@mitre.org> wrote:
>>>
>>>> On 6/24/12 6:06 AM, "Jasha Joachimsthal" <jasha@apache.org> wrote:
>>>>
>>>> >After some debugging I found out that the user creation goes wrong
>>>>when
>>>> >the
>>>> >Page objects are persisted.
>>>> >
>>>> >The following pages were created:
>>>> >Page [id=29] (Person profile)
>>>> >Page [id=30] (About)
>>>> >Page [id=31] (My activity)
>>>> >
>>>> >On save the following exception enters TranslatedH2Exception:
>>>> >org.h2.jdbc.JdbcSQLException: Referential integrity constraint
>>>>violation:
>>>> >"CONSTRAINT_255A8: PUBLIC.PAGE FOREIGN KEY(PARENT_PAGE_ID) REFERENCES
>>>> >PUBLIC.PAGE(ENTITY_ID) (29)"; SQL statement:
>>>> >INSERT INTO page (entity_id, name, page_type, owner_id,
>>>>page_layout_id,
>>>> >parent_page_id) VALUES (?, ?, ?, ?, ?, ?) [23506-167]
>>>> >
>>>> >The database only contains USER pages after initialization. When I
>>>>want to
>>>> >go to the profile page of an existing user, it fails to generate the
>>>> >profile page with exactly the same error.
>>>> >I'm not able to create a new USER page either, but haven't found out
>>>>yet
>>>> >where that one goes wrong (an NPE somewhere in persisting the Page
>>>> >object).
>>>>
>>>> This appears to be an issue after merging in changes from trunk.  Has
>>>> anyone checked to see if the issue exists there?
>>>>
>>>
>>>Everything works fine in trunk.
>>
>>Figured it out.  The transaction manager applies the save methods to the
>>entity manager in order and when it was saving the sub pages, it didn't
>>have the ID for the parent.  I have no idea why this is not failing in
>>trunk as well, but I added a save call before setting the sub pages and
>>it
>>works fine.  
>>
>>Was this the only issue, or were there other problems you found?
>
>Seems that deleting pages is a non-starter. When the changes from trunk
>were merged in and the constraint generation enabled, OpenJpa can't seem
>to cascade deletes for page users...

Turns out that in trunk there are a couple of things that were making this
work:  1) the H2 database was not getting constraints generated for some
reason.  2) the repositories used to extend AbstractJpaRepository and no
longer do.  That class was transactional.  Since Spring will run the
methods in the same transaction that was created at the service layer,
this posed no problems.  However, there is one key thing that the
transaction proxy does aside from committing the transaction; flush the
changes to the database.  I have now added a few flushes in key places and
everything is working as expected.

Assuming lazy consensus, I will reintegrate the branch into trunk later
this afternoon.

>
>
>>
>>
>>>
>>>
>>>
>>>>
>>>> >
>>>> >Jasha
>>>> >
>>>> >
>>>> >On 23 June 2012 18:54, Chris Geer <chris@cxtsoftware.com> wrote:
>>>> >
>>>> >> On Sat, Jun 23, 2012 at 9:36 AM, Chris Geer <chris@cxtsoftware.com>
>>>> >>wrote:
>>>> >>
>>>> >> > On Sat, Jun 23, 2012 at 6:41 AM, Jasha Joachimsthal
>>>><jasha@apache.org
>>>> >> >wrote:
>>>> >> >
>>>> >> >> On 21 June 2012 08:30, Jasha Joachimsthal <jasha@apache.org>
>>>>wrote:
>>>> >> >>
>>>> >> >> >
>>>> >> >> >
>>>> >> >> > On 20 June 2012 23:26, Ate Douma <ate@douma.nu>
wrote:
>>>> >> >> >
>>>> >> >> >> On 06/20/2012 10:24 PM, Franklin, Matthew B. wrote:
>>>> >> >> >>
>>>> >> >> >>> It looks like all of the tasks for the model
interface
>>>>refactor
>>>> >>are
>>>> >> >> >>> completed with the exception of the merging
tasks.   I am
>>>>going
>>>> >>to
>>>> >> >> merge
>>>> >> >> >>> trunk's changes into the branch (RAVE-686).
 Once that
>>>>ticket
>>>>is
>>>> >> >> done, it
>>>> >> >> >>> would be nice to have as many people who can
test the branch
>>>> >>before
>>>> >> we
>>>> >> >> >>> merge it back in to trunk.  Is there anyone
who can help
>>>>out?
>>>> >> >> >>>
>>>> >> >> >>
>>>> >> >> >> I don't have time tomorrow but can help test on
Friday.
>>>> >> >> >>
>>>> >> >> >> Ate
>>>> >> >> >>
>>>> >> >> >>
>>>> >> >> > Same here (more integration test stories are welcome).
>>>> >> >> >
>>>> >> >> > Jasha
>>>> >> >> >
>>>> >> >>
>>>> >> >> Creating a new account or provisioning an LDAP account
>>>>(johnldap)
>>>>is
>>>> >> >> broken
>>>> >> >> in the branch. Both failed in the integration tests (mvn
>>>> >> >> -Pintegration-tests) and when I do them manually (with
a clean
>>>> >>database)
>>>> >> >> they fail as well. In trunk this still works. This needs
to be
>>>>fixed
>>>> >> >> before
>>>> >> >> the branch is merged into trunk.
>>>> >> >>
>>>> >> >> For the new account I get
>>>> >> >> [INFO] [talledLocalContainer] ERROR:
>>>> >> >> org.apache.rave.portal.web.controller.NewAccountController
-
>>>>Account
>>>> >> >> creation failed: Unknown Database Error
>>>> >> >>
>>>> >> >> For the LDAP account I get
>>>> >> >> [WARNING] [talledLocalContainer] java.lang.RuntimeException:
>>>>Could
>>>> >>not
>>>> >> >> bind
>>>> >> >> LDAP username '{johnldap}' to a user
>>>> >> >> [WARNING] [talledLocalContainer]        at
>>>> >> >>
>>>> >> >>
>>>> >>
>>>> 
>>>>>>org.apache.rave.portal.web.security.LdapUserDetailsContextMapper.crea
>>>>>>t
>>>>>>e
>>>>>>Ra
>>>> >>veUserFromLdapInfo(LdapUserDetailsContextMapper.java:106)
>>>> >> >> [WARNING] [talledLocalContainer]        at
>>>> >> >>
>>>> >> >>
>>>> >>
>>>> 
>>>>>>org.apache.rave.portal.web.security.LdapUserDetailsContextMapper.mapU
>>>>>>s
>>>>>>e
>>>>>>rF
>>>> >>romContext(LdapUserDetailsContextMapper.java:82)
>>>> >> >> .....
>>>> >> >> [WARNING] [talledLocalContainer] Caused by:
>>>> >> >> org.apache.rave.persistence.impl.TranslatedH2Exception:
Unknown
>>>> >>Database
>>>> >> >> Error
>>>> >> >> [WARNING] [talledLocalContainer]        at
>>>> >> >>
>>>> >> >>
>>>> >>
>>>> 
>>>>>>org.apache.rave.persistence.jpa.impl.H2OpenJpaDialect.translateExcept
>>>>>>i
>>>>>>o
>>>>>>nI
>>>> >>fPossible(H2OpenJpaDialect.java:60)
>>>> >> >>
>>>> >> >
>>>> >> > Just doing a quick test I found a couple issues:
>>>> >> >
>>>> >> > 1) I also saw the error Jasha mentioned above when trying to
>>>>create a
>>>> >>new
>>>> >> > user through the UI
>>>> >> > 2) There is also an error when trying to view anyone's profile
>>>>page
>>>> >> >
>>>> >> > [WARNING] [talledLocalContainer] Jun 23, 2012 9:35:31 AM
>>>> >> > org.apache.catalina.core.StandardWrapperValve invoke
>>>> >> > [WARNING] [talledLocalContainer] SEVERE: Servlet.service()
for
>>>>servlet
>>>> >> > dispatcher threw exception
>>>> >> > [WARNING] [talledLocalContainer]
>>>> >> > org.apache.rave.persistence.impl.TranslatedH2Exception: Unknown
>>>> >>Database
>>>> >> > Error
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.apache.rave.persistence.jpa.impl.H2OpenJpaDialect.translateExcept
>>>>>>i
>>>>>>o
>>>>>>nI
>>>> >>fPossible(H2OpenJpaDialect.java:60)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransac
>>>>>>t
>>>>>>i
>>>>>>on
>>>> >>Manager.java:516)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.transaction.support.AbstractPlatformTransactionMa
>>>>>>n
>>>>>>a
>>>>>>ge
>>>> >>r.processCommit(AbstractPlatformTransactionManager.java:754)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.transaction.support.AbstractPlatformTransactionMa
>>>>>>n
>>>>>>a
>>>>>>ge
>>>> >>r.commit(AbstractPlatformTransactionManager.java:723)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.transaction.interceptor.TransactionAspectSupport.
>>>>>>c
>>>>>>o
>>>>>>mm
>>>> >>itTransactionAfterReturning(TransactionAspectSupport.java:393)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.transaction.interceptor.TransactionInterceptor.in
>>>>>>v
>>>>>>o
>>>>>>ke
>>>> >>(TransactionInterceptor.java:120)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
>>>>>>R
>>>>>>e
>>>>>>fl
>>>> >>ectiveMethodInvocation.java:172)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
>>>>>>c
>>>>>>A
>>>>>>op
>>>> >>Proxy.java:202)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >>$Proxy55.getPersonProfilePage(Unknown
>>>> >> > Source)
>>>> >> > [WARNING] [talledLocalContainer] at
>>>> >> >
>>>> >>
>>>> 
>>>>>>org.apache.rave.portal.web.controller.ProfileController.viewProfile(P
>>>>>>r
>>>>>>o
>>>>>>fi
>>>> >>leController.java:66)
>>>> >> >
>>>> >> > Chris
>>>> >> >
>>>> >> > One other odd thing, on the model branch, when you create a
new
>>>>tab it
>>>> >> takes you back to the main tab. Previously it had put you on the
>>>>newly
>>>> >> created tab.
>>>> >>
>>>> >> Chris
>>>> >>
>>>>
>>>>
>>
>>
>
>


Mime
View raw message