So this has been fixed. It was a whole ton of "fun" but after a bunch of testing I've verified that the latest code in trunk works in hsql, mysql, postgres, and oracle. I don't have facilities to test MSSQL but hopefully when RC2 comes out shortly someone can do that testing.

-Eric

On 06/15/2011 01:09 AM, Arvīds Grabovskis wrote:
Looks like i've pinpointed the problem. The faulty code is in RDBMDistributedLayoutStore#importLayout() - it is marked as transactional, hence starts a new transaction, but at the end of method it calls #setUserLayout() which creates a new connection and starts another transaction which turns out to be locked by the first one. Unfortunately i'm not sure i can solve this problem at the moment, but at least I hope this helps with identifying the issue.

-- Arvīds


2011/6/14 Arvīds Grabovskis <[email protected] <mailto:[email protected]>>

    Today i tried my luck with MSSQL - the same problem as with
    postgres (one transaction is waiting indefinitely for another
    one). Btw, I found those issues that relate to MySQL problems
    regarding unescaped fields
    (https://issues.jasig.org/browse/UP-3054) and
    https://issues.jasig.org/browse/UP-3027. But the latter one
    also mentions the problems while acquiring a lock.  Should I
    create a JIRA issue for this or append description to UP-3027?

    -- Arvīds


    2011/6/13 Eric Dalquist <[email protected]
    <mailto:[email protected]>>

        Yeah, there are some issues we know about with those two DBs.
        I'm hoping to have time to look into both this week. I believe
        Oracle is working correctly.

        -Eric


        On 6/13/11 10:12 AM, Arvīds Grabovskis wrote:
        Hi,

        I'm experiencing some problems when using PostgreSQL or MySQL
        as database for uPortal v4 (latest in trunk).

        Regarding MySQL:
        MySQL complains about DML statement syntax. For example
        there's a query: create table UP_PORTLET_DEF_PARAM (PARAM_ID
        bigint not null, DESC varchar(255), NAME varchar(255) not
        null, VAL longtext, PORLTET_DEF_ID bigint not null, primary
        key (PARAM_ID))
        But MySQL doesn't accept it since it contains 'DESC' column
        name which is a keyword that should be escaped when using as
        column name.

        Regarding PostgreSQL:
        "ant initportal" runs till this place:
             [java] Import User:  user/system.user
             [java] Import Profile:  profile/system-1.profile
             [java] Import Layout:  layout/system.layout
             [java]  WARN Could not find a specific ehcache
        configuration for cache regionNamed
        
'org.jasig.portal.layout.dao.jpa.StylesheetUserPreferencesImpl.query.FIND_PREFERENCES_BY_DESCRIPTOR_PERSON_PROFILE_CACHE_REGION'.
        The default cache will be used.
        ... and hangs. PG server shows that query 'UPDATE UP_USER SET
        LST_CHAN_UPDT_DT=$1 WHERE USER_ID=$2 ' is being executed. I
        assume that there's some kind of deadlock in database (though
        schema was created as it should be). I've traced queries at
        PG server side (attached at the bottom of message), but i'm
        not sure what to do next.

        Am I missing something (like additional configuration or my
        databases are messed up) or everyone on trunk is using HSQLDB
        and support for other databases might be broken?

        -- Arvīds

        2011-06-13 15:38:34.189
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,11,"BEGIN",2011-06-13
        15:38:29 EEST,4/98,0,LOG,00000,"execute S_1: BEGIN",,,,,,,,
        2011-06-13 15:38:34.189
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,12,"DELETE",2011-06-13 15:38:29
        EEST,4/98,0,LOG,00000,"execute <unnamed>: DELETE FROM
        UP_LAYOUT_PARAM WHERE USER_ID=$1 AND
        LAYOUT_ID=$2","parameters: $1 = '1', $2 = '1'",,,,,,,
        2011-06-13 15:38:34.190
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,13,"DELETE",2011-06-13 15:38:29
        EEST,4/98,0,LOG,00000,"execute <unnamed>: DELETE FROM
        UP_LAYOUT_STRUCT WHERE USER_ID=$1 AND
        LAYOUT_ID=$2","parameters: $1 = '1', $2 = '1'",,,,,,,
        2011-06-13 15:38:34.191
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,14,"SELECT",2011-06-13 15:38:29
        EEST,4/98,0,LOG,00000,"execute <unnamed>: SELECT * FROM
        UP_USER_LAYOUT WHERE USER_ID=$1 AND
        LAYOUT_ID=$2","parameters: $1 = '1', $2 = '1'",,,,,,,
        2011-06-13 15:38:34.192
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,15,"SELECT",2011-06-13 15:38:29
        EEST,4/98,0,LOG,00000,"execute <unnamed>: SELECT
        USER_DFLT_USR_ID FROM UP_USER WHERE USER_ID=$1","parameters:
        $1 = '1'",,,,,,,
        2011-06-13 15:38:34.193
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,16,"SELECT",2011-06-13 15:38:29
        EEST,4/98,0,LOG,00000,"execute <unnamed>: SELECT
        USER_ID,LAYOUT_ID,LAYOUT_TITLE,INIT_STRUCT_ID FROM
        UP_USER_LAYOUT WHERE USER_ID=$1","parameters: $1 = '0'",,,,,,,
        2011-06-13 15:38:34.193
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,17,"INSERT",2011-06-13 15:38:29
        EEST,4/98,0,LOG,00000,"execute <unnamed>: INSERT INTO
        UP_USER_LAYOUT (USER_ID, LAYOUT_ID, LAYOUT_TITLE,
        INIT_STRUCT_ID) VALUES ($1,$2,$3,$4)","parameters: $1 = '1',
        $2 = '1', $3 = 'default layout', $4 = '1'",,,,,,,
        2011-06-13 15:38:34.194
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,18,"UPDATE",2011-06-13 15:38:29
        EEST,4/98,42521,LOG,00000,"execute <unnamed>: UPDATE
        UP_USER_LAYOUT SET INIT_STRUCT_ID=$1 WHERE USER_ID=$2 AND
        LAYOUT_ID=$3","parameters: $1 = '0', $2 = '1', $3 = '1'",,,,,,,
        2011-06-13 15:38:34.196
        EEST,"portal","portal4",6625,"127.0.0.1:36487
        <http://127.0.0.1:36487>",4df604c5.19e1,19,"UPDATE",2011-06-13 15:38:29
        EEST,4/98,42521,LOG,00000,"execute <unnamed>: UPDATE UP_USER
        SET LST_CHAN_UPDT_DT=$1 WHERE USER_ID=$2","parameters: $1 =
        '2011-06-13 00:00:00', $2 = '1'",,,,,,,
--
        You are currently subscribed [email protected]  
<mailto:[email protected]>  as:[email protected]  
<mailto:[email protected]>
        To unsubscribe, change settings or access archives, 
seehttp://www.ja-sig.org/wiki/display/JSG/uportal-dev



--

You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to