It's all about the answers!

Ask a question

RRC 2.0.04 to RRC 3.0.1 Online Migration Error


Yatin Choubal (111) | asked Jul 30 '12, 2:03 p.m.
 Hi All, 

I'm carrying out RRC 2.0.0.4 to RRC 3.0.1 migration. I have finished with the running the upgrade script. Also the data has been imported from
 the tar file (which was an export from RRC 2.0.04)
However, when I'm carrying out with online migration, I'm getting the following error. I'm not using the default port using 443(instead of 9443) and also not using localhost (using company specific domain). 

After typing the URL for migration. I first get ERROR 500, which mentions about not finding the handler.
When I close that and look on the migration page..

Error - (on the migration screen) 
Rational Requirement Composer Server is currently not available.
This server (http://..../rdm) is not available for use. It is either waiting to be migrated from version 2 to version 3 or migration is currently in progress.

When I click on migration service panel- 
Error - Status information for the migration cannot be obtained.



5 answers



permanent link
Ralph Schoon (63.4k33646) | answered Aug 01 '12, 4:48 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi, I would suggest to review the teamserver.properties files for the port numbers. I would try to review if there are wrong entries in the server/conf/app/.rdf files as well. See https://jazz.net/forum/questions/82419/missing-friend/82466

I would also suggest to review the log files, there must be more information there.

Can you connect to the servers using the URI's, maybe there is a deployment problem.

permanent link
Justin Spies (2812) | answered Aug 01 '12, 12:18 p.m.
Ralph, I'm working with Yatin on this issue. We've checked all of the port numbers and we've checked the friendsconfig.rdf as well, everything looks fine.

In the RDM log file, this is all we're seeing, even with logging set to 'DEBUG':
2012-08-01 11:49:34,883 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - [rdm] Searching for /build/built-on.txt
2012-08-01 11:49:34,883 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - Trying /opt/IBM/JazzTeamServer/server/tomcat/work/Catalina/localhost/rdm/proxytemp/hc_1134707618
2012-08-01 11:49:34,883 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - Trying /opt/IBM/JazzTeamServer/server/tomcat/work/Catalina/localhost/rdm/eclipse/configuration/org.eclipse.osgi/bundles/63/data
2012-08-01 11:49:34,883 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - Trying /opt/IBM/JazzTeamServer/server/conf/rdm
2012-08-01 11:49:34,884 [           http-443-Processor9] ERROR onting.server.services.process.ProcessProxyService  - Server Error: Entry [594cd37b76a0df7d]
java.lang.IllegalStateException
        at com.ibm.rdm.fronting.server.core.repository.RepositoryAccessManager.makeErrorResponse(RepositoryAccessManager.java:225)
        at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.checkRepositoryState(RRSRestServiceBase.java:607)
        at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.service(RRSRestServiceBase.java:128)
        at com.ibm.team.jfs.app.servlet.AppContainerServlet.dispatchRequest(AppContainerServlet.java:152)
        at com.ibm.team.jfs.app.servlet.AppContainerServlet.service(AppContainerServlet.java:295)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
        at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:76)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:811)
2012-08-01 11:49:34,885 [           http-443-Processor9]  WARN onting.server.services.process.ProcessProxyService  - While reporting error to client, the request had invalid header "Accept: none", will use text/html output
2012-08-01 11:49:34,885 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - [rdm] Searching for /build/built-on.txt
2012-08-01 11:49:34,885 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - Trying /opt/IBM/JazzTeamServer/server/tomcat/work/Catalina/localhost/rdm/proxytemp/hc_1134707618
2012-08-01 11:49:34,885 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - Trying /opt/IBM/JazzTeamServer/server/tomcat/work/Catalina/localhost/rdm/eclipse/configuration/org.eclipse.osgi/bundles/63/data
2012-08-01 11:49:34,885 [           http-443-Processor9] DEBUG bm.rdm.fronting.server.bootstrap.RRSAppInitializer  - Trying /opt/IBM/JazzTeamServer/server/conf/rdm
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << HTTP/1.1 500
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Timing] 2ms
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>] GET https://rrc.atech.com/rdm/processProxy?uri=https%3A%2F%2Frrc.atech.com%2Fjts%2Fprocess%2Fproject-areas&dojo.preventCache=1343836174816 HTTP/1.1
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      host: rrc.atech.com
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0.1
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      accept: none
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      accept-language: en-us,en;q=0.5
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      accept-encoding: gzip, deflate
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      connection: keep-alive
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      x-com-ibm-rdm-request-correlation-id: RRC_WEBUI_0.29189535257117316
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      doorsrp-request-type: private
2012-08-01 11:49:34,885 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      content-type: text/plain
2012-08-01 11:49:34,886 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      x-requested-with: XMLHttpRequest
2012-08-01 11:49:34,886 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      referer: https://rrc.atech.com/rdm/web/projects/migration
2012-08-01 11:49:34,886 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I << [Request >>]      cookie: jfs-oauth-realm-mapping=https%3A%2F%2Frrc.atech.com%2Fjts%3D0; jfs-oauth-access_token-secret0=9UZXbf5cfPdFvWOrqKMAHs8PX/bBM7mUyKNUDJIPK08=; jfs-oauth-access-token0=37d98d73898e47829674c4f571d1609b; __utma=249276503.1824786939.1332943966.1332946427.1343398673.3; __utmz=249276503.1332943966.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); JSESSIONIDSSO=EF7228A7D651272D491F245EBF0074AE
2012-08-01 11:49:34,886 [           http-443-Processor9] ERROR .rdm.fronting.server.headers.services.ProcessProxy  - CRRRS4120I <<      <no headers>
2012-08-01 11:49:34,886 [           http-443-Processor9] ERROR rdm.fronting.server.response.services.ProcessProxy  - CRRRS4120I << ---No entity-
2012-08-01 11:54:30,687 [          CommonCache Scrubber] DEBUG am.jfs.internal.app.cache.bundle.CacheScrubberTask  - Scrubbing CommonCache
2012-08-01 11:59:30,688 [          CommonCache Scrubber] DEBUG am.jfs.internal.app.cache.bundle.CacheScrubberTask  - Scrubbing CommonCache


There are no clear details on what is going on here. We've made sure that all references to URIs / URLs are set to port 80/443 since we are upgrading from RRC 2 that was running on ports 80/443. All references to /jazz (the default for RRC 2) are replaced with /jts, however we left the RRC URL (/rdm) unchanged (so CLM 3 is using /rdm as the URL and NOT the new default of /rm).

Someone else (Morton) posted a similar issue in the forums (https://jazz.net/forum/questions/57871/error-migration-rrc-20-to-clm?page=1&focusedAnswerId=83559#83559) but if he found an answer, then he didn't post the answer, so I've asked him to do so. Unfortunately we've somewhat hijacked the posting from another user.

Any other suggestions?

Comments
Ralph Schoon commented Aug 01 '12, 12:28 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Let me clarify, you introduced a new JTS with context root /jts when upgrading, right? The RRC context root remains unchanged? Have you looked at the upgrade information in the library? Maybe the upgrade workshop could hint to something?

You used tomact, right. One thing I have seen once was that an application would not deploy. Deleting the folder rm in tomcat/webapps would force a redeploy.

Errors in the friendsconfig and the fronting are sometimes hard to spot. It took me a day in one case...


permanent link
Ralph Schoon (63.4k33646) | answered Aug 01 '12, 12:33 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I found this: worth a look: http://www-01.ibm.com/support/docview.wss?uid=swg21567135

Otherwise, open a PMR (if you already did, hard to tell who is IBMer in the forums these days 8-))

Comments
Justin Spies commented Aug 01 '12, 12:38 p.m.

Thanks, we did look at that entry, it appears we're not even getting that far - none of the log files mentioned even exist in our install directory for either RRCS2 nor for CLM3. It seems as though we'll have to open a PMR.


permanent link
Justin Spies (2812) | answered Aug 01 '12, 12:51 p.m.
Correct on all accounts - we are using Tomcat, we introduced a new JTS with the context root /jts and we're following the upgrade / migration instructions from the library.

Doesn't look like there is an 'rm' folder in the library, but there is an 'rdm' directory (this is all in our CLM3 installation directory, the original RRCS2 is in /opt/IBM/RRCS2):
[root@rrc server]# pwd
/opt/IBM/JazzTeamServer/server
[root@rrc server]# ls -latr tomcat/webapps/
total 407148
-rw-r--r--  1 root root  65924023 Jun  1  2011 clmhelp.war
-rw-r--r--  1 root root  33060711 Jun  2  2011 jts.war.1343367984586backup
-rw-r--r--  1 root root  33060711 Jun  2  2011 ccm.war
-rw-r--r--  1 root root  33758557 Jun  2  2011 admin.war
-rw-r--r--  1 root root  33060711 Jun  2  2011 qm.war
-rw-r--r--  1 root root 142202489 Jun  2  2011 rdm.war
-rw-r--r--  1 root root  42285203 Jun  2  2011 converter.war
drwxr-xr-x  4 root root      4096 Jul 27 01:21 ROOT
drwxr-xr-x 11 root root      4096 Jul 27 01:21 ..
-rw-r--r--  1 root root  33060706 Jul 27 01:46 jts.war
drwxr-xr-x  4 root root      4096 Jul 27 01:49 admin
drwxr-xr-x  4 root root      4096 Jul 27 01:49 jts
drwxr-xr-x  4 root root      4096 Jul 27 01:49 converter
drwxr-xr-x  4 root root      4096 Jul 27 01:49 clmhelp
drwxr-xr-x  5 root root      4096 Jul 27 01:50 rdm
drwxr-xr-x  4 root root      4096 Jul 27 01:50 qm
drwxr-xr-x 10 root root      4096 Jul 27 01:50 .
drwxr-xr-x  4 root root      4096 Jul 27 01:50 ccm


Removing that 'rdm' directory didn't cause any change in behavior - we're still seeing the errors in the log files. I did notice another error entry (from catalina.out):

INFO: Server startup in 37727 ms
2012-08-01 12:49:56,716 RRC [http-443-Processor21] ERROR dm.fronting.server.services.init.ClientInitService  - Server Error: Entry [8ca15625a140b195]
java.lang.IllegalStateException
        at com.ibm.rdm.fronting.server.core.repository.RepositoryAccessManager.makeErrorResponse(RepositoryAccessManager.java:225)
        at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.checkRepositoryState(RRSRestServiceBase.java:607)
        at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.service(RRSRestServiceBase.java:128)
        at com.ibm.team.jfs.app.servlet.AppContainerServlet.dispatchRequest(AppContainerServlet.java:152)
        at com.ibm.team.jfs.app.servlet.AppContainerServlet.service(AppContainerServlet.java:295)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
        at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:76)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Thread.java:811)
2012-08-01 12:49:56,719 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << HTTP/1.1 500
2012-08-01 12:49:56,719 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Timing] 242ms
2012-08-01 12:49:56,719 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>] GET https://rrc.atech.com/rdm/clientinit?dojo.preventCache=1343839796470 HTTP/1.1
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      host: rrc.atech.com
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0.1
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      accept: none
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      accept-language: en-us,en;q=0.5
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      accept-encoding: gzip, deflate
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      connection: keep-alive
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      x-com-ibm-rdm-request-correlation-id: RRC_WEBUI_0.8201483323937327
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      doorsrp-request-type: private
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      content-type: text/plain
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      x-requested-with: XMLHttpRequest
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      referer: https://rrc.atech.com/rdm/web/projects/migration
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I << [Request >>]      cookie: jfs-oauth-realm-mapping=https%3A%2F%2Frrc.atech.com%2Fjts%3D0; jfs-oauth-access_token-secret0=Ye3Em9gFh1vXbw7Yt5yMFyGGlhTTRG/lyo9gb/0VPXk=; jfs-oauth-access-token0=63ba96d5fe13418ea89a5f72e6373554; __utma=249276503.1824786939.1332943966.1332946427.1343398673.3; __utmz=249276503.1332943966.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); JSESSIONIDSSO=3CB91CCE36A21FF861602A2B24319073
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR bm.rdm.fronting.server.headers.services.ClientInit  - CRRRS4120I <<      <no headers>
2012-08-01 12:49:56,720 RRC [http-443-Processor21] ERROR m.rdm.fronting.server.response.services.ClientInit  - CRRRS4120I << ---No entity-
2012-08-01 12:49:57,327 RRC [http-443-Processor25] ERROR onting.server.services.process.ProcessProxyService  - Server Error: Entry [2142d98270d63da1]
java.lang.IllegalStateException
        at com.ibm.rdm.fronting.server.core.repository.RepositoryAccessManager.makeErrorResponse(RepositoryAccessManager.java:225)
        at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.checkRepositoryState(RRSRestServiceBase.java:607)
        at com.ibm.rdm.fronting.server.core.internal.RRSRestServiceBase.service(RRSRestServiceBase.java:128)
        at com.ibm.team.jfs.app.servlet.AppContainerServlet.dispatchRequest(AppContainerServlet.java:152)
        at com.ibm.team.jfs.app.servlet.AppContainerServlet.service(AppContainerServlet.java:295)

permanent link
Yatin Choubal (111) | answered Aug 01 '12, 12:56 p.m.
While installing, I use the context root option of - 
 
Use Rational Requirement composer 2.x context root


Application context root values - 

/jts - Jazz Team server
/ccm - Change and Configuration Management
/qm - Quality Management
/rdm - Requirement management.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.