Setting as "none". Then the Hibernate will do nothing, if you prefer the 
tables are manually created.


On Friday, December 16, 2016 at 12:19:37 AM UTC+8, Hal Deadman wrote:
>
> I am trying to use the JPA ticket registry in 5.0.1 with Postgres. I can't 
> find any DDL to create the schema so I am letting hibernate create the 
> tables. 
>  
> In this document 
> https://apereo.github.io/cas/5.0.x/installation/JPA-Ticket-Registry.html 
> they describe four options for ddlAuto:
>
> validate - validate the schema, but make no changes to the database.
> update - update the schema.
> create - create the schema, destroying previous data.
> create-drop - drop the schema at the end of the session.
>
> If I want to have multiple CAS servers pointing at the same set of tables 
> in the same DB, it doesn't seem like create or create-drop would make sense 
> because they both appear to drop the tables on start-up. The OID of the 
> table changes with the create option on startup so i assume it is 
> re-creating the table. 
>
> I would like to use "validate" but after letting the tables be created 
> using the "create" option the validate options fails with an error like: 
>
> Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: 
> Schema-valid
> ation: wrong column type encountered in column [lockVer] in table [locks]; 
> found
>  [int4 (Types#INTEGER)], but expecting [integer default 0 (Types#BIGINT)]
>
> The DDL for the table extracted by pgAdmin shows the column is: "lockVer 
> integer NOT NULL DEFAULT 0" which seems to be what it is expecting. 
>
>
> I can start up CAS with ddlAuto set to "update" but when I login I get an 
> an error:
>
> <ERROR: cannot execute SELECT FOR UPDATE in a read-only transaction>
> 2016-12-15 09:52:16,249 ERROR 
> [org.apereo.cas.ticket.registry.JpaTicketRegistry]
>  - <Error getting ticket 
> TGT-**********************************************3osVS
> fZwtw-XYZXYZXYZV from registry.>
>
> If I set jpaLockingTgtEnabled to false then I can login but it seems like 
> locking should work in postgres. It appears 
> that DefaultTicketRegistrySupport is @Transactional readonly=true and the 
> getAuthenticatedPrincipalFrom method starts a read-only transaction which 
> eventually fails when hibernate tries to lock row with "for update" clause. 
> Is there another TicketRegistrySupport bean I should be using?
>
>
> A possibly related issue, I am seeing the DefaultTicketRegistry bean being 
> created from CasCoreTicketsConfiguration despite the bean being 
> @ConditionalOnMissingBean(name = "ticketRegistry"). The jpaTicketRegistry 
> bean which appears to be aliased to ticketRegistry is definitely being used 
> so I am not sure why the DefaultTicketRegistry bean is being created. 
>
>
> To summarize:
>  - JPA ticket registry seems to be working but the ddlAuto validate 
> doesn't seem to work (and create/create-drop seem no better than in-memory 
> if they are lost on restart)
>  - jpa locking is not working for me
>  - I don't know why the DefaultTicketRegistry bean is being created. 
>
>
>

-- 
- CAS gitter chatroom: https://gitter.im/apereo/cas
- CAS mailing list guidelines: https://apereo.github.io/cas/Mailing-Lists.html
- CAS documentation website: https://apereo.github.io/cas
- CAS project website: https://github.com/apereo/cas
--- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/c733d7fe-a3f1-429f-9c89-37b32fd7e847%40apereo.org.

Reply via email to