KnowageLabs/Knowage-Server-Docker

Knowage and Keyrock

SamuelTJackson opened this issue · 3 comments

I try to use Knowage with Keyrock. In order to archieve this I followed this and this.
I extended the entrypoint.sh file as follows:

#!/bin/bash
set -e

INIT_PROP_FILE=${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/webapps/knowage/WEB-INF/classes/it/eng/spagobi/commons/initializers/metadata/config/configs.xml
INIT_PROP_FILE_TEMP=${KNOWAGE_DIRECTORY}/webapps/knowage/WEB-INF/classes/it/eng/spagobi/commons/initializers/metadata/config/configs.xml.temp
SERVER_CONF=${KNOWAGE_DIRECTORY}/conf/server.xml
WEB_XML=${KNOWAGE_DIRECTORY}/webapps/knowage/WEB-INF/web.xml
KNOWAGE_JAR=${KNOWAGE_DIRECTORY}/webapps/knowage/WEB-INF/lib/knowage-utils-7.0.0.jar
UNZIPPED_JAR=knowageJAR
KNOWAGE_CONF=${UNZIPPED_JAR}/it/eng/spagobi/security/OAuth2/configs.properties
INITIALIZER_XML=${KNOWAGE_DIRECTORY}/webapps/knowage/WEB-INF/conf/config/initializers.xml

# usage: file_env VAR [DEFAULT]
#    ie: file_env 'XYZ_DB_PASSWORD' 'example'
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
#  "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
file_env() {
	local var="$1"
	local fileVar="${var}_FILE"
	local def="${2:-}"
	if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
		echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
		exit 1
	fi
	local val="$def"
	if [ "${!var:-}" ]; then
		val="${!var}"
	elif [ "${!fileVar:-}" ]; then
		val="$(< "${!fileVar}")"
	fi
	export "$var"="$val"
	unset "$fileVar"
}

change_value() {
	touch $INIT_PROP_FILE_TEMP
	local label="$1"
	local value_check="$2"
	tr -d '\n' < $INIT_PROP_FILE | sed 's#/>#/>\n#g' | sed 's/valueCheck=/\x00/g' | sed -E "s#(label=\"${label}\"[^\x00]*\x00)\"[^\"]*#\1\"${value_check}#g" | sed 's/\x00/valueCheck=/g' > $INIT_PROP_FILE_TEMP && mv $INIT_PROP_FILE_TEMP $INIT_PROP_FILE
}

file_env "DB_USER"
file_env "DB_PASS"
file_env "DB_DB"
file_env "DB_HOST"
file_env "DB_PORT"
file_env "HMAC_KEY"
file_env "PUBLIC_ADDRESS"

#Following the tutorial https://knowage.readthedocs.io/en/latest/admin/README/index.html#configuration-with-the-idm-keyrock
if [[ -n "$KEYROCK" ]]; then

	change_value "SPAGOBI_SSO.ACTIVE" "true"
	change_value "SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className" "it.eng.spagobi.security.OAuth2SecurityInfoProvider"
	change_value "SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className" "it.eng.spagobi.security.OAuth2SecurityServiceSupplier"
	change_value "SPAGOBI_SSO.SECURITY_LOGOUT_URL" "https://keyrock.mydomain.de/auth/external_logout"
	
	sed -i "s/it.eng.spagobi.services.common.FakeSsoService/it.eng.spagobi.services.oauth2.Oauth2SsoService/g" $SERVER_CONF
	sed -i "s/it.eng.spagobi.commons.initializers.metadata.MetadataInitializer/it.eng.spagobi.commons.initializers.metadata.OAuth2MetadataInitializer/g" $INITIALIZER_XML
	sed -i "s/<!-- START OAUTH 2/<!-- START OAUTH 2 -->/g" $WEB_XML
	sed -i "s/END OAUTH 2 -->/<!-- END OAUTH 2 -->/g" $WEB_XML

	
	unzip $KNOWAGE_JAR -d $UNZIPPED_JAR
	sed -i "s/CLIENT_ID.*/CLIENT_ID=${KEYROCK_CLIENT_ID}/g" $KNOWAGE_CONF
	sed -i "s/SECRET.*/SECRET=${KEYROCK_SECRET}/g" $KNOWAGE_CONF
	sed -i "s#AUTHORIZE_URL.*#AUTHORIZE_URL=${KEYROCK_URL}/oauth2/authorize#g" $KNOWAGE_CONF
	sed -i "s#ACCESS_TOKEN_URL.*#ACCESS_TOKEN_URL=${KEYROCK_URL}/oauth2/token#g" $KNOWAGE_CONF
	sed -i "s#USER_INFO_URL.*#USER_INFO_URL=${KEYROCK_URL}/user#g" $KNOWAGE_CONF
	sed -i "s#REDIRECT_URI.*#REDIRECT_URI=${KEYROCK_REDIRECT_URI}#g" $KNOWAGE_CONF
	sed -i "s#TOKEN_PATH.*#TOKEN_PATH=${KEYROCK_TOKEN_PATH}#g" $KNOWAGE_CONF



	sed -i "s#REST_BASE_URL.*#REST_BASE_URL=${KEYROCK_URL}/#g" $KNOWAGE_CONF
	
	sed -i "s#APPLICATION_ID.*#APPLICATION_ID=${KEYROCK_APPLICATION_ID}#g" $KNOWAGE_CONF
	sed -i "s/ADMIN_ID.*/ADMIN_ID=${KEYROCK_ADMIN_ID}/g" $KNOWAGE_CONF
	sed -i "s/ADMIN_EMAIL.*/ADMIN_EMAIL=${KEYROCK_ADMIN_EMAIL}/g" $KNOWAGE_CONF
	sed -i "s/ADMIN_PASSWORD.*/ADMIN_PASSWORD=${KEYROCK_ADMIN_PASSWORD}/g" $KNOWAGE_CONF
	cd $UNZIPPED_JAR; zip -r $KNOWAGE_JAR *
	cd ..
	
fi

if [[ -z "$PUBLIC_ADDRESS" ]]; then
        #get the address of container
        #example : default via 172.17.42.1 dev eth0 172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.109
        PUBLIC_ADDRESS=`ip route | grep src | awk '{print $9}'`
fi

#replace the address of container inside server.xml
#sed -i "s|http:\/\/.*:8080|http:\/\/${PUBLIC_ADDRESS}:8080|g" ${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/conf/server.xml
sed -i "s|http:\/\/.*:8080|${PUBLIC_ADDRESS}|g" ${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/conf/server.xml
sed -i "s|http:\/\/.*:8080\/knowage|http:\/\/localhost:8080\/knowage|g" ${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/conf/server.xml
sed -i "s|http:\/\/localhost:8080|http:\/\/${PUBLIC_ADDRESS}:8080|g" ${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/webapps/knowage/WEB-INF/web.xml

#wait for MySql
./wait-for-it.sh ${DB_HOST}:${DB_PORT} -- echo "MySql is up!"

#insert knowage metadata into db if it doesn't exist
result=`mysql -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASS} ${DB_DB} -e "SHOW TABLES LIKE '%SBI_%';"`
if [ -z "$result" ]; then
	mysql -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASS} ${DB_DB} --execute="source ${MYSQL_SCRIPT_DIRECTORY}/MySQL_create.sql"
        mysql -h${DB_HOST} -P${DB_PORT} -u${DB_USER} -p${DB_PASS} ${DB_DB} --execute="source ${MYSQL_SCRIPT_DIRECTORY}/MySQL_create_quartz_schema.sql"
fi

#replace in server.xml
old_connection='url="jdbc:mysql://localhost:3306/knowagedb" username="knowageuser" password="knowagepassword"'
new_connection='url="jdbc:mysql://'${DB_HOST}':'${DB_PORT}'/'${DB_DB}'" username="'${DB_USER}'" password="'${DB_PASS}'"'
sed -i "s|${old_connection}|${new_connection}|" ${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/conf/server.xml

#generate random HMAC key
sed -i "s|abc123|${HMAC_KEY}|" ${KNOWAGE_DIRECTORY}/${APACHE_TOMCAT_PACKAGE}/conf/server.xml

exec "$@"

And I had to install zip in the Dockerfile of Knowage.

I checked the files after I started the container
configs.xml:

<CONFIG label="SPAGOBI_SSO.ACTIVE" name="ACTIVE SSO FLAG" description="ACTIVE SSO FLAG" isActive="true" valueCheck="true"  valueType="STRING" category="SECURITY" />
<CONFIG label="SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className"  name="Security Info provider" description="Security Info provider" isActive="true" valueCheck="it.eng.spagobi.security.OAuth2SecurityInfoProvider" valueType="STRING" category="SECURITY" />
<CONFIG label="SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className" name="Security Service Supplier" description="Security Service Supplier" isActive="true" valueCheck="it.eng.spagobi.security.OAuth2SecurityServiceSupplier" valueType="STRING" category="SECURITY" />
<CONFIG label="SPAGOBI_SSO.SECURITY_LOGOUT_URL" name="SECURITY LOGOUT URL" description="" isActive="true" valueCheck="https://keyrock.mydomain.de" valueType="STRING" category="SECURITY" />

server.xml:
<Environment name="sso_class" type="java.lang.String" value="it.eng.spagobi.services.oauth2.Oauth2SsoService"/>
web.xml:

<!-- START OAUTH 2 -->                                                                                                                                                                                     
        <filter-mapping>
                <filter-name>OAuthFilter</filter-name>
                <url-pattern>/servlet/AdapterHTTP</url-pattern>
        </filter-mapping>
<!-- END OAUTH 2 -->
<!-- START OAUTH 2 -->                                                                                                                                                                                     
        <filter>                                                                                                                                                                                                   
                <filter-name>OAuthFilter</filter-name>                                                                                                                                                             
                <filter-class>it.eng.spagobi.security.OAuth2.OAuth2Filter</filter-class>                                                                                                                           
        </filter>
<!-- END OAUTH 2 --> 

configs.properties inside of knowage-utils-7.0.0.jar (in the tutorial its called knowageutils.jar):

# Informations about OAuth2 application
CLIENT_ID=68d6e050-6037-40a5-ba4b-9ed3570b409d
SECRET=5ee23df7-aec1-4913-a32e-994e131b36e3

# OAuth2 urls
AUTHORIZE_URL=https://keyrock.mydomain.de/oauth2/authorize
ACCESS_TOKEN_URL=https://keyrock.mydomain.de/oauth2/token
USER_INFO_URL=https://keyrock.mydomain.de/user
REDIRECT_URI=https://traefik.mydomain.de/knowage/servlet/AdapterHTTP?PAGE=LoginPage
   
# REST API urls
REST_BASE_URL=https://keyrock.mydomain.de/
TOKEN_PATH=v3/auth/tokens
ROLES_PATH = OS-ROLES/roles
#  ORGANIZATIONS_LIST_PATH = users/ADMIN_ID=admin
ORGANIZATION_INFO_PATH = projects/

APPLICATION_ID=78d6e050-6037-40a7-ba1b-9ed4570b408d

# Admin credentials
ADMIN_ID=admin
ADMIN_EMAIL=keyrockadmin@test.de
ADMIN_PASSWORD=1234

PROXY_URL = proxy.eng.it
PROXY_PORT = 3128
PROXY_USER = aldaniel
PROXY_PASSWORD =

docker-compose extract:

keyrock:
    image: fiware/idm:FIWARE_7.8
    restart: always
    container_name: keyrock
    user: "996:995"
    depends_on:
        - keyrock-db
        - authzforce
    expose:
      - "3005"
    environment:
        - IDM_OAUTH_EMPTY_STATE=true #Knowage is not sending a state parameter
        - IDM_DB_HOST=keyrock-db
        - IDM_DB_PASS_FILE=/run/secrets/keyrock_db_password
        - IDM_DB_USER=root
        - IDM_HOST=http://localhost:3005
        - IDM_PORT=3005
        - IDM_HTTPS_ENABLED=false
        - IDM_ADMIN_USER=keyrock
        - IDM_ADMIN_EMAIL=keyrockadmin@test.de
        - IDM_ADMIN_PASS=1234
        - IDM_PDP_LEVEL=advanced
        - IDM_AUTHZFORCE_ENABLED=true
        - IDM_AUTHZFORCE_HOST=authzforce
        - IDM_AUTHZFORCE_PORT=8080

    secrets:
        - keyrock_db_password

  knowage:
    image: knowagelabs/knowage-server-docker:7.0
    container_name: knowage 
    expose:
      - "8080"
    environment:
      - DB_USER=knowage
      - DB_PASS_FILE=/run/secrets/knowage_db_password
      - DB_DB=knowage
      - DB_HOST=knowagedb
      - DB_PORT=3306
      - PUBLIC_ADDRESS=https://knowage.mydomain.de
      - HMAC_KEY_FILE=/run/secrets/knowage_hmac_key
      - KEYROCK=true
      - KEYROCK_CLIENT_ID=68d6e050-6037-40a5-ba4b-9ed3570b409d
      - KEYROCK_SECRET=5ee23df7-aec1-4913-a32e-994e131b36e3
      - KEYROCK_URL=https://keyrock.mydomain.de
      - KEYROCK_TOKEN_PATH=v3/auth/tokens
      - KEYROCK_APPLICATION_ID=78d6e050-6037-40a7-ba1b-9ed4570b408d
      - KEYROCK_ADMIN_ID=admin
      - KEYROCK_ADMIN_EMAIL=keyrockadmin@test.de
      - KEYROCK_ADMIN_PASSWORD=1234
      - KEYROCK_REDIRECT_URI=https://knowage.mydomain.de/knowage/servlet/AdapterHTTP?PAGE=LoginPage
    secrets:
        - knowage_db_password
        - knowage_hmac_key

If I enter the knowage site I get redirected to Keyrock and can login for the created Knowage application. Then I get redirected to:
https://knowage.mydomain.de/knowage/servlet/AdapterHTTP?PAGE=LoginPage&code=bd3a99c09742741e93b8c86e68302f3d41b441f3 and I get a 500 error.
knowage log:


[localhost-startStop-6] 20 Nov 2019 22:40:08,872 ERROR it.eng.spagobi.commons.SingletonConfigCache.<init>:41 - The table sbi_config is EMPTY
[localhost-startStop-6] 20 Nov 2019 22:40:09,203 ERROR it.eng.spagobi.security.OAuth2.OAuth2Client.getToken:63 - Error while getting access token from IdM REST API: server returned statusCode = 401
[localhost-startStop-6] 20 Nov 2019 22:40:09,203 ERROR it.eng.spagobi.security.OAuth2.OAuth2Client.getToken:66 - Server response is:
{"error":{"message":"Invalid email or password","code":401,"title":"Unauthorized"}}
[localhost-startStop-6] 20 Nov 2019 22:40:09,204 ERROR it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.init:81 - Error while trying to obtain tenants' informations from OAuth2 provider
it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while trying to obtain tenants' informations from OAuth2 provider
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.getTenants(OAuth2TenantInitializer.java:210)
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.init(OAuth2TenantInitializer.java:65)
	at it.eng.spagobi.commons.initializers.metadata.MetadataInitializer.init(MetadataInitializer.java:82)
	at it.eng.spagobi.commons.initializers.metadata.SpagoBIInitializer.init(SpagoBIInitializer.java:91)
	at it.eng.spagobi.commons.initializers.metadata.MetadataInitializer.init(MetadataInitializer.java:66)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while trying to get token from IdM REST API
	at it.eng.spagobi.security.OAuth2.OAuth2Client.getToken(OAuth2Client.java:73)
	at it.eng.spagobi.security.OAuth2.OAuth2Client.getAdminToken(OAuth2Client.java:84)
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.getTenants(OAuth2TenantInitializer.java:175)
	... 22 more
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while getting access token from IdM REST API: server returned statusCode = 401
	at it.eng.spagobi.security.OAuth2.OAuth2Client.getToken(OAuth2Client.java:68)
	... 24 more
[localhost-startStop-6] 20 Nov 2019 22:40:09,206 ERROR it.eng.spagobi.commons.initializers.metadata.MetadataInitializer.init:87 - An unexpected error occured while initializing metadata
it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: An unexpected error occured while initializing Tenants
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.init(OAuth2TenantInitializer.java:82)
	at it.eng.spagobi.commons.initializers.metadata.MetadataInitializer.init(MetadataInitializer.java:82)
	at it.eng.spagobi.commons.initializers.metadata.SpagoBIInitializer.init(SpagoBIInitializer.java:91)
	at it.eng.spagobi.commons.initializers.metadata.MetadataInitializer.init(MetadataInitializer.java:66)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while trying to obtain tenants' informations from OAuth2 provider
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.getTenants(OAuth2TenantInitializer.java:210)
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.init(OAuth2TenantInitializer.java:65)
	... 21 more
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while trying to get token from IdM REST API
	at it.eng.spagobi.security.OAuth2.OAuth2Client.getToken(OAuth2Client.java:73)
	at it.eng.spagobi.security.OAuth2.OAuth2Client.getAdminToken(OAuth2Client.java:84)
	at it.eng.spagobi.commons.initializers.metadata.OAuth2TenantInitializer.getTenants(OAuth2TenantInitializer.java:175)
	... 22 more
Caused by: it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while getting access token from IdM REST API: server returned statusCode = 401
	at it.eng.spagobi.security.OAuth2.OAuth2Client.getToken(OAuth2Client.java:68)
	... 24 more
[localhost-startStop-6] 20 Nov 2019 22:40:09,283 ERROR it.eng.spagobi.commons.initializers.caching.CachingInitializer.init:59 - Cannot initialize cache
java.lang.Exception: Cannot configure cache: Data source for writing is not defined. Please select one in the data sources definition panel.
	at it.eng.spagobi.tools.dataset.cache.SpagoBICacheConfiguration.getCacheDataSource(SpagoBICacheConfiguration.java:71)
	at it.eng.spagobi.tools.dataset.cache.SpagoBICacheConfiguration.getInstance(SpagoBICacheConfiguration.java:55)
	at it.eng.spagobi.commons.initializers.caching.CachingInitializer.init(CachingInitializer.java:48)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[localhost-startStop-6] 20 Nov 2019 22:40:09,307 ERROR it.eng.spagobi.analiticalmodel.functionalitytree.dao.LowFunctionalityDAOHibImpl.insertLowFunctionality:720 - The Domain with value_cd=LOW_FUNCT does not exist.
[localhost-startStop-6] 20 Nov 2019 22:40:09,315 ERROR it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize:135 - Error while initializing tree structure in tenant DEFAULT_TENANT
it.eng.spago.error.EMFUserError: severity [ERROR] description [Error while inserting the functionality]
	at it.eng.spagobi.analiticalmodel.functionalitytree.dao.LowFunctionalityDAOHibImpl.insertLowFunctionality(LowFunctionalityDAOHibImpl.java:721)
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize(TreeInitializer.java:131)
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize(TreeInitializer.java:79)
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.init(TreeInitializer.java:61)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[localhost-startStop-6] 20 Nov 2019 22:40:09,315 ERROR it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize:82 - Error while initializing tree structure
it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: Error while initializing tree structure in tenant DEFAULT_TENANT
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize(TreeInitializer.java:136)
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize(TreeInitializer.java:79)
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.init(TreeInitializer.java:61)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: it.eng.spago.error.EMFUserError: severity [ERROR] description [Error while inserting the functionality]
	at it.eng.spagobi.analiticalmodel.functionalitytree.dao.LowFunctionalityDAOHibImpl.insertLowFunctionality(LowFunctionalityDAOHibImpl.java:721)
	at it.eng.spagobi.analiticalmodel.functionalitytree.init.TreeInitializer.initialize(TreeInitializer.java:131)
	... 20 more
[localhost-startStop-6] 20 Nov 2019 22:40:09,409 ERROR it.eng.spagobi.security.init.InternalSecurityInitializer.initRoles:339 - An unexpected error occurred while initializieng default roles
java.lang.IllegalArgumentException: id to load is required for loading
	at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:89)
	at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:61)
	at org.hibernate.impl.SessionImpl.load(SessionImpl.java:982)
	at org.hibernate.impl.SessionImpl.load(SessionImpl.java:978)
	at it.eng.spagobi.commons.dao.RoleDAOHibImpl.insertRoleWithSession(RoleDAOHibImpl.java:376)
	at it.eng.spagobi.commons.dao.RoleDAOHibImpl.insertRole(RoleDAOHibImpl.java:345)
	at it.eng.spagobi.security.init.InternalSecurityInitializer.initRoles(InternalSecurityInitializer.java:326)
	at it.eng.spagobi.security.init.InternalSecurityInitializer.init(InternalSecurityInitializer.java:82)
	at it.eng.spagobi.commons.initializers.metadata.SpagoBIInitializer.init(SpagoBIInitializer.java:91)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[localhost-startStop-6] 20 Nov 2019 22:40:09,515 ERROR it.eng.spagobi.security.init.InternalSecurityInitializer.init:154 - An unexpected error occurred during users' initialization
java.lang.NullPointerException
	at it.eng.spagobi.profiling.bean.SbiExtUserRolesId.hashCode(SbiExtUserRolesId.java:71)
	at it.eng.spagobi.profiling.bean.SbiExtUserRoles.hashCode(SbiExtUserRoles.java:65)
	at java.lang.Object.toString(Object.java:236)
	at java.lang.String.valueOf(String.java:2994)
	at java.lang.StringBuilder.append(StringBuilder.java:131)
	at it.eng.spagobi.profiling.dao.SbiUserDAOHibImpl.updateSbiUserRoles(SbiUserDAOHibImpl.java:296)
	at it.eng.spagobi.security.init.InternalSecurityInitializer.init(InternalSecurityInitializer.java:147)
	at it.eng.spagobi.commons.initializers.metadata.SpagoBIInitializer.init(SpagoBIInitializer.java:91)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
[localhost-startStop-6] 20 Nov 2019 22:40:09,515 ERROR it.eng.spagobi.commons.initializers.metadata.SpagoBIInitializer.init:99 - An unexpected error occured while initializing [InternalSecurity]
it.eng.spagobi.utilities.exceptions.SpagoBIRuntimeException: An unexpected error occurred during users' initialization
	at it.eng.spagobi.security.init.InternalSecurityInitializer.init(InternalSecurityInitializer.java:155)
	at it.eng.spagobi.commons.initializers.metadata.SpagoBIInitializer.init(SpagoBIInitializer.java:91)
	at it.eng.spago.init.InitializerManager.init(InitializerManager.java:79)
	at it.eng.spago.configuration.ConfigServlet.init(ConfigServlet.java:115)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4998)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5312)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
	at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
	at it.eng.spagobi.profiling.bean.SbiExtUserRolesId.hashCode(SbiExtUserRolesId.java:71)
	at it.eng.spagobi.profiling.bean.SbiExtUserRoles.hashCode(SbiExtUserRoles.java:65)
	at java.lang.Object.toString(Object.java:236)
	at java.lang.String.valueOf(String.java:2994)
	at java.lang.StringBuilder.append(StringBuilder.java:131)
	at it.eng.spagobi.profiling.dao.SbiUserDAOHibImpl.updateSbiUserRoles(SbiUserDAOHibImpl.java:296)
	at it.eng.spagobi.security.init.InternalSecurityInitializer.init(InternalSecurityInitializer.java:147)
	... 19 more
[http-nio-8080-exec-1] 20 Nov 2019 22:40:16,951 ERROR it.eng.spagobi.commons.utilities.ChannelUtilities.getSpagoBIContextName:133 - SPAGOBI.SPAGOBI-MODE.mode IS NULL
[http-nio-8080-exec-5] 20 Nov 2019 22:40:17,598 ERROR it.eng.spagobi.commons.utilities.ChannelUtilities.getSpagoBIContextName:133 - SPAGOBI.SPAGOBI-MODE.mode IS NULL
[http-nio-8080-exec-6] 20 Nov 2019 22:40:17,646 ERROR it.eng.spagobi.commons.utilities.ChannelUtilities.isWebRunning:161 - SPAGOBI.SPAGOBI-MODE.mode IS NULL
[http-nio-8080-exec-6] 20 Nov 2019 22:40:17,649 ERROR it.eng.spagobi.commons.utilities.SpagoBIUtilities.readJndiResource:319 - java.lang.NullPointerException
[http-nio-8080-exec-6] 20 Nov 2019 22:40:17,649 ERROR it.eng.spagobi.services.common.SsoServiceFactory.createProxyService:55 - Error occurred
java.lang.NullPointerException
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at it.eng.spagobi.services.common.SsoServiceFactory.createProxyService(SsoServiceFactory.java:52)
	at it.eng.spagobi.commons.filters.ProfileFilter.getUserIdWithSSO(ProfileFilter.java:271)
	at it.eng.spagobi.commons.filters.ProfileFilter.doFilter(ProfileFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.security.OAuth2.OAuth2Filter.doFilter(OAuth2Filter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.commons.filters.SpagoBICoreCheckSessionFilter.doFilter(SpagoBICoreCheckSessionFilter.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
[http-nio-8080-exec-6] 20 Nov 2019 22:40:17,650 ERROR it.eng.spagobi.commons.filters.ProfileFilter.getUserIdWithSSO:275 - Authentication failed
java.lang.NullPointerException
	at it.eng.spagobi.commons.filters.ProfileFilter.getUserIdWithSSO(ProfileFilter.java:272)
	at it.eng.spagobi.commons.filters.ProfileFilter.doFilter(ProfileFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.security.OAuth2.OAuth2Filter.doFilter(OAuth2Filter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.commons.filters.SpagoBICoreCheckSessionFilter.doFilter(SpagoBICoreCheckSessionFilter.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
[http-nio-8080-exec-6] 20 Nov 2019 22:40:17,651 ERROR it.eng.spagobi.commons.filters.ProfileFilter.doFilter:157 - Error while service execution
it.eng.spagobi.commons.filters.ProfileFilter$SilentAuthenticationFailedException
	at it.eng.spagobi.commons.filters.ProfileFilter.getUserIdWithSSO(ProfileFilter.java:276)
	at it.eng.spagobi.commons.filters.ProfileFilter.doFilter(ProfileFilter.java:126)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.security.OAuth2.OAuth2Filter.doFilter(OAuth2Filter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.commons.filters.SpagoBICoreCheckSessionFilter.doFilter(SpagoBICoreCheckSessionFilter.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

Can someone tell what I'm doing wrong?

Were you able to successfully integrate Knowage Server with Keyrock? I'm stuck at "missing parameter 'state'" issue!! Can you please throw some light here.

Hey you can tell Keyrock that the state is optional. But Knowage is no longer compatible with keyrock.

Okay, I tackled this by adding "STATE=true" to config.properties, but even after removing "NEW_SESSION=true" from URL, I end up landing on on Knowage server login page!!

Hey you can tell Keyrock that the state is optional. But Knowage is no longer compatible with keyrock.
Any sources saying the same? I working since a week on this!!