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]>

> 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]>
>
>>  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",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",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",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",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",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",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",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",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",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 to [email protected] as: 
>> [email protected]
>> To unsubscribe, change settings or access archives, see 
>> http://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

Reply via email to