Is CAS 4.0-RC3 affected?
Thanks,
Jérôme


2014-03-20 21:13 GMT+01:00 Baron Fujimoto <[email protected]>:

> 3.4.11 here, also using MySQL.
>
> -baron
>
> On Thu, Mar 20, 2014 at 03:30:37PM +0100, J?r?me LELEU wrote:
> >
> >Which CAS server version are we talking about?
> >
> >2014-03-20 7:16 GMT+01:00 Andrew Morgan <[email protected]>:
> >
> >> This is the same behavior I've seen in my own testing.  When the MySQL
> >> database backend is unavailable, CAS is also unavailable.
> >>
> >> Is there someone out there for whom CAS continues working when the
> >> database is unavailable?
> >>
> >> On Wed, 19 Mar 2014, Baron Fujimoto wrote:
> >>
> >>  I'm assuming config error, but am at a loss as to what specifically.
> >>>
> >>> The documentation notes on the availability of Services Management
> >>> Application Database says, "If the Services Management Application
> >>> database happens to be unavailable you will still be able to perform
> >>> service authorization.  CAS maintains an in-memory collection of
> services
> >>> that is periodically refreshed from the database.  If the database is
> >>> down, the periodic refresh process will fail.  But the in-memory data
> will
> >>> continue to be available to support service authorization."
> >>>
> >>> <https://wiki.jasig.org/display/CASUM/Configuring#Configuring-
> >>> NotesontheavailabilityofServicesManagementApplicationDatabase>
> >>>
> >>> However, we have reproducibly determined that when our services
> managment
> >>> database is unavailable, users see following error:
> >>>
> >>> ===
> >>> CAS is Unavailable
> >>>
> >>> There was an error trying to complete your request. Please notify your
> >>> support desk or try again.
> >>> ===
> >>>
> >>> and I find this error in Tomcat's catalina.out logfile:
> >>>
> >>> ===
> >>> 2014-03-19 09:50:21,987 ERROR [org.quartz.core.ErrorLogger] - <Job
> >>> (DEFAULT.serviceRegistryReloaderJobDetail threw an exception.>
> >>> org.quartz.SchedulerException: Job threw an unhandled exception. [See
> >>> nested exception: org.springframework.scheduling.quartz.
> >>> JobMethodInvocationFailedException: Invocation of method 'reload' on
> >>> target class [class com.sun.proxy.$Proxy27] failed; nested exception is
> >>> org.springframework.dao.DataAccessResourceFailureException: Cannot open
> >>> connection; nested exception is
> org.hibernate.exception.JDBCConnectionException:
> >>> Cannot open connection]
> >>>    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
> >>>    at org.quartz.simpl.SimpleThreadPool$WorkerThread.
> >>> run(SimpleThreadPool.java:525)
> >>> Caused by: org.springframework.scheduling.quartz.
> >>> JobMethodInvocationFailedException: Invocation of method 'reload' on
> >>> target class [class com.sun.proxy.$Proxy27] failed; nested exception is
> >>> org.springframework.dao.DataAccessResourceFailureException: Cannot open
> >>> connection; nested exception is
> org.hibernate.exception.JDBCConnectionException:
> >>> Cannot open connection
> >>>    [...]
> >>> ===
> >>>
> >>> I believe this is the relevant configuration from
> >>> deployerConfigContext.xml:
> >>>
> >>> <!--
> >>>    Define the Service Registry
> >>> -->
> >>> <bean id="serviceRegistryDao" class="org.jasig.cas.services.
> >>> JpaServiceRegistryDaoImpl"
> >>>    p:entityManagerFactory-ref="entityManagerFactory" />
> >>>
> >>>    <!-- Persistent Service Registry: mysql -->
> >>>    <!-- This is the EntityManagerFactory configuration for Hibernate
> -->
> >>>    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.
> >>> LocalContainerEntityManagerFactoryBean">
> >>>        <property name="dataSource" ref="dataSource"/>
> >>>        <property name="jpaVendorAdapter">
> >>>            <bean class="org.springframework.orm.jpa.vendor.
> >>> HibernateJpaVendorAdapter">
> >>>                <property name="generateDdl" value="true"/>
> >>>                <property name="showSql"     value="true" />
> >>>            </bean>
> >>>        </property>
> >>>        <property name="jpaProperties">
> >>>            <props>
> >>>                <prop key="hibernate.dialect">${
> >>> database.hibernate.dialect}</prop>
> >>>                <prop key="hibernate.hbm2ddl.auto">update</prop>
> >>>            </props>
> >>>        </property>
> >>>    </bean>
> >>>
> >>>    <bean id="transactionManager" class="org.springframework.
> >>> orm.jpa.JpaTransactionManager">
> >>>        <property name="entityManagerFactory"
> ref="entityManagerFactory"/>
> >>>    </bean>
> >>>
> >>>    <tx:annotation-driven transaction-manager="transactionManager"/>
> >>>
> >>>    <bean
> >>>        id="dataSource"
> >>>        class="org.apache.commons.dbcp.BasicDataSource"
> >>>        p:driverClassName="com.mysql.jdbc.Driver"
> >>>        p:url="${service.registry.url}"
> >>>        p:username="${service.registry.username}"
> >>>        p:password="${service.registry.password}" />
> >>> ===
> >>>
> >>> ${database.hibernate.dialect} is defined in cas.properties as:
> >>> database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
> >>>
> >>> and pom.xml contains:
> >>>
> >>> ===
> >>>        <!-- Dependencies for database classes -->
> >>>        <!--
> >>>            Apache Commons DBCP
> >>>        -->
> >>>        <dependency>
> >>>            <groupId>commons-dbcp</groupId>
> >>>            <artifactId>commons-dbcp</artifactId>
> >>>            <version>1.4</version>
> >>>            <scope>runtime</scope>
> >>>        </dependency>
> >>>
> >>>        <!--
> >>>            Hibernate Entities
> >>>        -->
> >>>        <dependency>
> >>>            <groupId>org.hibernate</groupId>
> >>>            <artifactId>hibernate-entitymanager</artifactId>
> >>>            <version>3.5.0-CR-2</version>
> >>>        </dependency>
> >>>
> >>>        <!--
> >>>            MySQL Connector
> >>>        -->
> >>>        <dependency>
> >>>            <groupId>mysql</groupId>
> >>>            <artifactId>mysql-connector-java</artifactId>
> >>>            <version>5.1.20</version>
> >>>        </dependency>
> >>>
> >>>    <!-- End Dependencies for database jars -->
> >>> ===
>
> --
> Baron Fujimoto <[email protected]> :: UH Information Technology Services
> minutas cantorum, minutas balorum, minutas carboratum desendus pantorum
>
> --
> 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
>

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