terracotta issue

David Massie dhm24 at hoyamail.georgetown.edu
Fri Jun 29 17:58:36 BST 2012


I see to be having a problem starting terracotta and I am hoping someone
can offer some advise.


I am using shibboleth idp v 2.3.5
tomcat v 6.0.33
jre v Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

Also, when I compiled the t-cotta boot file I had to delete the statistics
section. I couldn't get it to compile with statistics section no matter
where I moved it to in the config file.

When I start t-cotta I get the following:

[root at shibb-dev-1 bin]# ./start-tc-server.sh -n idpNode1 -f
/var/services/shibboleth/shibboleth-idp/conf/tc-config.xml

2012-06-29 12:48:58,835 INFO - Terracotta 3.6.2, as of 20120412-135519
(Revision 20065 by cruise at rh5vmo113.terracotta.lan from 3.6.2)
2012-06-29 12:48:59,508 INFO - Successfully loaded base configuration from
file at '/var/services/shibboleth/shibboleth-idp/conf/tc-config.xml'.
2012-06-29 12:48:59,618 INFO - Log file:
'/var/services/shibboleth/shibboleth-idp/cluster/server/logs/terracotta-server.log'.
2012-06-29 12:49:02,020 INFO - Available Max Runtime Memory: 494MB
java.lang.AssertionError: Not all members are present in this collection:
collections=[Node{host=141.161.245.199:9510} Node{host=141.161.245.198:9510}
] members=[idpNode1 idpNode2 idpNode2 ]
    at com.tc.net.groups.ServerGroup.getNodes(ServerGroup.java:91)
    at com.tc.net.groups.ServerGroup.getNodes(ServerGroup.java:86)
    at
com.tc.config.HaConfigImpl.getNodeNamesForThisGroup(HaConfigImpl.java:72)
    at com.tc.config.HaConfigImpl.<init>(HaConfigImpl.java:56)
    at
com.tc.objectserver.impl.DistributedObjectServer.<init>(DistributedObjectServer.java:435)
    at
com.tc.server.TCServerImpl.createDistributedObjectServer(TCServerImpl.java:498)
    at com.tc.server.TCServerImpl.startDSOServer(TCServerImpl.java:486)
    at com.tc.server.TCServerImpl.access$600(TCServerImpl.java:86)
    at com.tc.server.TCServerImpl$StartAction.execute(TCServerImpl.java:437)
    at com.tc.lang.StartupHelper.startUp(StartupHelper.java:39)
    at com.tc.server.TCServerImpl.startServer(TCServerImpl.java:468)
    at com.tc.server.TCServerImpl.start(TCServerImpl.java:245)
    at com.tc.server.TCServerMain.main(TCServerMain.java:30)

I am posting the full tc-config.xml file for reference:

<?xml version="1.0" encoding="UTF-8"?>

<tc:tc-config xmlns:tc="http://www.terracotta.org/config" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.terracotta.org/config
http://www.terracotta.org/schema/terracotta-4.xsd">

    <!--
        Terracotta configuration file for Shibboleth.

        Complete documentation on the contents of this file may be found
here:
        http://www.terracotta.org/documentation/
        http://www.terracotta.org/confluence/display/docs/Home
    -->

<tc-properties>
  <property name="l2.nha.tcgroupcomm.reconnect.enabled" value="true" />
  <property name="l2.nha.tcgroupcomm.reconnect.timeout" value="15000" />
  <property name="l2.l1reconnect.enabled" value="true" />
  <property name="l2.l1reconnect.timeout.millis" value="15000" />
  <property name="l2.nha.dirtydb.autoDelete" value="true"/>
  <property name="l1.cachemanager.enabled" value="true"/>
  <property name="logging.maxLogFileSize" value="1024"/>

</tc-properties>

    <servers>
        <!-- EXAMPLE SERVER CONFIGURATION -->
        <!--
            <server name="UNIQUE_ID" host="HOST">
            <dso>
            <persistence>
            <mode>permanent-store</mode>
            </persistence>
            </dso>


<logs>/var/services/shibboleth/shibboleth-idp/cluster/server/logs</logs>

<data>/var/services/shibboleth/shibboleth-idp/cluster/server/data</data>

<statistics>/var/services/shibboleth/shibboleth-idp/cluster/server/stats</statistics>
            </server>
        -->
        <!-- START Terracotta server definitions -->
<server host="shibb-dev-1.uis.georgetown.edu" name="idpNode1"
bind="141.161.245.198">
    <dso>
        <persistence>
            <mode>permanent-store</mode>
        </persistence>
    </dso>

    <logs>/var/services/shibboleth/shibboleth-idp/cluster/server/logs</logs>
    <data>/var/services/shibboleth/shibboleth-idp/cluster/server/data</data>

<statistics>/var/services/shibboleth/shibboleth-idp/cluster/server/stats</statistics>
</server>
<server host="shibb-dev-2.uis.georgetown.edu" name="idpNode2"
bind="141.161.245.199">
    <dso>
        <persistence>
            <mode>permanent-store</mode>
        </persistence>
    </dso>

    <logs>/var/services/shibboleth/shibboleth-idp/cluster/server/logs</logs>
    <data>/var/services/shibboleth/shibboleth-idp/cluster/server/data</data>

<statistics>/var/services/shibboleth/shibboleth-idp/cluster/server/stats</statistics>
</server>
<server host="shibb-dev-3.uis.georgetown.edu" name="idpNode2"
bind="141.161.245.200">
    <dso>
        <persistence>
            <mode>permanent-store</mode>
        </persistence>
    </dso>

    <logs>/var/services/shibboleth/shibboleth-idp/cluster/server/logs</logs>
    <data>/var/services/shibboleth/shibboleth-idp/cluster/server/data</data>

<statistics>/var/services/shibboleth/shibboleth-idp/cluster/server/stats</statistics>
</server>



        <!-- END Terracotta server definitions -->

        <ha>
            <mode>networked-active-passive</mode>
            <networked-active-passive>
                <election-time></election-time>
            </networked-active-passive>
        </ha>
    </servers>

    <system>
        <configuration-model>production</configuration-model>
    </system>


    <application>
        <dso>
            <additional-boot-jar-classes>
                <include>javax.security.auth.Subject</include>
                <include>javax.security.auth.Subject$SecureSet</include>
                <include>javax.security.auth.Subject$ClassSet</include>
                <include>javax.security.auth.x500.X500Principal</include>

<include>javax.security.auth.kerberos.KerberosPrincipal</include>
                <include>java.util.AbstractSet</include>
            </additional-boot-jar-classes>
            <roots>
                <root>
                    <root-name>storageService</root-name>

<field-name>edu.internet2.middleware.shibboleth.common.util.EventingMapBasedStorageService.store</field-name>
                </root>
            </roots>
            <transient-fields>

<field-name>org.opensaml.common.binding.artifact.BasicSAMLArtifactMapEntry.log</field-name>
            </transient-fields>
            <instrumented-classes>
               <include>

<class-expression>org.apache.commons.logging.impl.SLF4JLocationAwareLog</class-expression>
                    <honor-transient>true</honor-transient>
               </include>
               <include>

<class-expression>edu.vt.middleware.ldap.bean.UnorderedLdapBeanFactory</class-expression>
               </include>
               <include>

<class-expression>edu.vt.middleware.ldap.bean.UnorderedLdapBeanFactory$UnorderedLdapAttributes</class-expression>
                    <honor-transient>true</honor-transient>
               </include>
               <include>

<class-expression>edu.vt.middleware.ldap.bean.AbstractLdapAttributes</class-expression>
                    <honor-transient>true</honor-transient>
               </include>
               <include>

<class-expression>edu.vt.middleware.ldap.bean.AbstractLdapBean</class-expression>
                    <honor-transient>true</honor-transient>
               </include>
                <include>

<class-expression>edu.vt.middleware.ldap.jaas.LdapPrincipal</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.authn.UsernamePrincipal</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.vt.middleware.ldap.jaas.LdapCredential</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.authn.AuthenticationException</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>org.opensaml.util.storage.AbstractExpiringObject</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.TransientIdEntry</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.authn.LoginContextEntry</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.authn.LoginContext</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.authn.ShibbolethSSOLoginContext</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.authn.Saml2LoginContext</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.session.impl.AuthenticationMethodInformationImpl</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>org.opensaml.util.storage.ReplayCacheEntry</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerEntry</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.common.session.impl.AbstractSession</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.session.impl.SessionImpl</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>edu.internet2.middleware.shibboleth.idp.session.impl.ServiceInformationImpl</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>org.opensaml.common.binding.artifact.BasicSAMLArtifactMapEntry</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>org.opensaml.xml.util.LazyList</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>org.opensaml.xml.util.LazySet</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
                <include>

<class-expression>org.opensaml.xml.util.LazyMap</class-expression>
                    <honor-transient>true</honor-transient>
                </include>
            </instrumented-classes>
            <locks>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.vt.middleware.ldap.jaas.LdapPrincipal.*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.authn.LoginContext.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.authn.LoginContext.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.authn.ShibbolethSSOLoginContext.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.authn.ShibbolethSSOLoginContext.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.authn.Saml2LoginContext.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.authn.Saml2LoginContext.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.common.session.impl.AbstractSession.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.common.session.impl.AbstractSession.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.session.impl.SessionImpl.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.session.impl.SessionImpl.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.session.impl.AuthenticationMethodInformationImpl.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.session.impl.AuthenticationMethodInformationImpl.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.session.impl.ServiceInformationImpl.set*(..)</method-expression>
                    <lock-level>write</lock-level>
                </autolock>
                <autolock auto-synchronized="false">
                    <method-expression>*
edu.internet2.middleware.shibboleth.idp.session.impl.ServiceInformationImpl.get*(..)</method-expression>
                    <lock-level>read</lock-level>
                </autolock>
            </locks>
        </dso>
    </application>

</tc:tc-config>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://shibboleth.net/pipermail/users/attachments/20120629/3d5e0123/attachment-0001.html 


More information about the users mailing list