Le 07/06/2011 17:42, Marvin Addison a écrit :
> What process is executing the following:
>
>> Then this TGT got destroyed a few seconds later :
>>
>> 17:00:22-27      192394 Execute     [604] delete from TICKETGRANTINGTICKET
>> where
>> ID='TGT-45-f9ynfe4hnpaK0GAv3cJruSKKVCkSZfWYx0qIqiRWC4WpphbK73-id.ch-poitiers.fr'
> The log format looks different than the cas.log file.  This is the
> same ticket in question that was created and subsequently updated?
> The log excerpts themselves don't provide enough information to
> conclude that.
It is a mysql queries log excerpt. Since I didn't understand why TGT sometimes 
got lost, I 
configured mysql query log + cas debug log.
>> 2011-05-30 17:00:22,698 ERROR [org.hibernate.jdbc.AbstractBatcher] -
>> Exception executing batch:
>> org.hibernate.StaleStateException: Batch update returned unexpected row
>> count from update [0]; actual row count: 0; expected: 1
> The typical cause of this is that the affected row has been modified
> by another transaction (in this case deleted) during this
> transaction's execution.  I've not seen this before, but I suspect
> it's a platform-dependent effect.  Can you tell me more about your
> MySQL setup?  In particular, what table type are you using?

MySQL is installed on a CentOS 5.6 32 bits server :

# mysql --version
mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1

There's tables structure (generated automatically by cas) :

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

CREATE TABLE IF NOT EXISTS `RegisteredServiceImpl` (
   `id` bigint(20) NOT NULL auto_increment,
   `allowedToProxy` bit(1) NOT NULL,
   `anonymousAccess` bit(1) NOT NULL,
   `description` varchar(255) default NULL,
   `enabled` bit(1) NOT NULL,
   `evaluation_order` int(11) NOT NULL,
   `ignoreAttributes` bit(1) NOT NULL,
   `name` varchar(255) default NULL,
   `serviceId` varchar(255) default NULL,
   `ssoEnabled` bit(1) NOT NULL,
   `theme` varchar(255) default NULL,
   PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

CREATE TABLE IF NOT EXISTS `rs_attributes` (
   `RegisteredServiceImpl_id` bigint(20) NOT NULL,
   `a_name` varchar(255) NOT NULL,
   `a_id` int(11) NOT NULL,
   PRIMARY KEY  (`RegisteredServiceImpl_id`,`a_id`),
   KEY `FK4322E15F0C8D661` (`RegisteredServiceImpl_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `SERVICETICKET` (
   `ID` varchar(255) NOT NULL,
   `NUMBER_OF_TIMES_USED` int(11) default NULL,
   `CREATION_TIME` bigint(20) default NULL,
   `EXPIRATION_POLICY` blob NOT NULL,
   `LAST_TIME_USED` bigint(20) default NULL,
   `PREVIOUS_LAST_TIME_USED` bigint(20) default NULL,
   `FROM_NEW_LOGIN` bit(1) NOT NULL,
   `TICKET_ALREADY_GRANTED` bit(1) NOT NULL,
   `SERVICE` blob NOT NULL,
   `ticketGrantingTicket_ID` varchar(255) default NULL,
   PRIMARY KEY  (`ID`),
   KEY `FK7645ADE132A2C0E5` (`ticketGrantingTicket_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `TICKETGRANTINGTICKET` (
   `ID` varchar(255) NOT NULL,
   `NUMBER_OF_TIMES_USED` int(11) default NULL,
   `CREATION_TIME` bigint(20) default NULL,
   `EXPIRATION_POLICY` blob NOT NULL,
   `LAST_TIME_USED` bigint(20) default NULL,
   `PREVIOUS_LAST_TIME_USED` bigint(20) default NULL,
   `AUTHENTICATION` blob NOT NULL,
   `EXPIRED` bit(1) NOT NULL,
   `SERVICES_GRANTED_ACCESS_TO` mediumblob NOT NULL,
   `ticketGrantingTicket_ID` varchar(255) default NULL,
   PRIMARY KEY  (`ID`),
   KEY `FKB4C4CDDE32A2C0E5` (`ticketGrantingTicket_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

The only change I did was to change type of SERVICES_GRANTED_ACCESS_TO from 
BLOB to 
MEDIUMBLOB.

Thank you for your help.

-- 
Philippe MARASSE

Service Informatique - Centre Hospitalier Henri Laborit
BP 587 - 370 avenue Jacques Coeur
86021 Poitiers Cedex
Tel : 05.49.44.57.19



-- 
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/cas-user

Reply via email to