I wouldn't recommend disabling stable paging. This setting changes the Maximo REST API to establish the MBO set once (IE run the SQL query once) and the iterate through each MBO one at a time (so you only have 1 MBO in memory at a given point). This is preferable when downloading lookup data for a couple of reasons. First, you could have many pages of MBO sets that have to be re-established each time, which could slow down the retrieval. Secondly, when things aren't ordered with an explicit order by, you get data as you would from the database which might not be in the same order (and we've seen this with our own data pulls). That means that you could get the same record on page 2 that you later get on page 4 which means that you're missing other records and have duplicates of some.
Some of the downsides to stable paging is that it's dependent on the JVM that it's done on, it is specific to that session, it has time limits in place, and there is no going back to previous pages (whereas basic paging can go backward and forward since it's re-established each time).
The error listed above seems like the URL that was built was invalid in some way. I'd look at the webserver logs and compare the requests that failed with requests that succeeded to look for discrepancies between them.
------------------------------
Steven Shull
Director of Development
Projetech Inc
Cincinnati OH
------------------------------
Original Message:
Sent: Fri December 04, 2020 06:15 PM
From: Aki Porter
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Update: For me, the fix was changing stablepaging=true to stablepaging=false in line 361 of the CommunicationManager.js file located in … \Anywhere\MaximoAnywhere\apps\[App_Name]\common\js\platform\comm then rebuilding the app.
------------------------------
Aki Porter
------------------------------
Original Message:
Sent: Fri December 04, 2020 01:13 PM
From: Aki Porter
Subject: Anywhere 764 - Unable to Refresh Lookup Data
I have also got this same issue happening on my end. Maximo Anywhere 7.6.4, Maximo 7.6.1.0, Oracle 12.2, Weblogic 12.2. All apps are doing it and cannot log in. Same logs as posted by Christopher.
------------------------------
Aki Porter
Original Message:
Sent: Mon August 24, 2020 05:37 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Even after making the changes above I'm still seeing these errors in the Maximo logs
BMXAA9510E - The stable page resource was not found because the reload of a stable page was attempted or the idle expiry time has expired.
These seem to be from normal Anywhere 764 use and not downloading lookup data
I'm also seeing these as well
BMXAA8744E - The OSLC query was not parsed. Ensure that the query in the HTTP request follows the correct syntax of the OSLC query specification.
Encountered " "," ", "" at line 1, column 51.
Was expecting one of:
" " ...
<BOOLEAN_OP> ...
<LITERAL_SUFFIX> ...
"}" ...
<LITERAL_SUFFIX> ...
------------------------------
Christopher Kung
Original Message:
Sent: Thu August 20, 2020 11:25 AM
From: Mathieu Guilmette
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Our client is on SQLServer database. And what is even more strange is that we don't have this issue in PROD. Only in Non-Prod environnement. The only difference between them is that in PROD we provide the app container and in Non-prod we take them on PlayStore.
------------------------------
Mathieu Guilmette
Original Message:
Sent: Thu August 20, 2020 10:52 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Hi Mathieu,
Is your client on MS SQL database?
Strangely you are only getting this now. Would have expected to get the error when you first used Anywhere and tried to download the lookup data but you would need to open a support case with IBM to request an LA fix for APAR IJ15351
Thanks
Chris
------------------------------
Christopher Kung
Original Message:
Sent: Thu August 20, 2020 10:25 AM
From: Mathieu Guilmette
Subject: Anywhere 764 - Unable to Refresh Lookup Data
I have been using Anywhere 764 since its release and I have just now encountered this issue. Our client is on 7610, is there anything to do to fix this other than upgrade to 7612 ?
Thank you
------------------------------
Mathieu Guilmette
Original Message:
Sent: Mon May 04, 2020 11:43 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
IBM support have released the LA fix for IJ15351 and I don't get the error anymore
its just a single class file MaximoAuthenticatorImpl.class
applications/maximo/commonweb/classes/com/ibm/tivoli/maximo/oslc/provider/
now I only see one login within the LOGINTRACKING table
Only thing I have noticed with 7.6.4 is that it takes significantly longer to download the lookup data compared to 7.6.3
Anyone else seen similar?
------------------------------
Christopher Kung
Original Message:
Sent: Thu April 30, 2020 09:25 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Thanks Steven,
I've enabled logintracking and from logging in and trying to refresh lookup data it created 41 records of LOGIN & LOGOUT
so you're right it does multiple authentication requests
Whereas with 7631 with MobileFirst it only created one LOGIN record
Will look to upgrade our clients TEST environment to see if we're getting the same issue as DEV
------------------------------
Christopher Kung
Original Message:
Sent: Tue April 28, 2020 12:00 PM
From: Steven Shull
Subject: Anywhere 764 - Unable to Refresh Lookup Data
To the best of my knowledge and from what I can tell in the requests I see, this all functions the same (with the exception that it doesn't route through MobileFirst which actually eliminates a failure point). Looking at your logs again I see something interesting. It looks like your session is being reauthenticated by looking at these logs:
[CID-MXOSLC-26103] request contains maxauth header[DEBUG] [MAXIMO] [CID-MXOSLC-26103] unbinding the OSLC Session ...[INFO] [MAXIMO] [CID-MXOSLC-26103] Disconnecting the REST MXSession ...[INFO] [MAXIMO] [CID-MXOSLC-26103] REST MXSession disconnected[DEBUG] [MAXIMO] [CID-MXOSLC-26103] cleaning up the stable ids from session...[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...9261815875479955115670[DEBUG]
Since a stable pagination is tied to that individual session (not to a user) that would be a problem. But I'm not sure why it would be providing the MAXAUTH header on each request, as once it authenticates it should be providing the JSESSIONID on future requests. It may be worth providing to IBM to see if they can help pinpoint why it's reauthenticating. If you have login tracking enabled on your system, you should be able to see it in that table as well.
------------------------------
Steven Shull
Director of Development
Projetech Inc
Cincinnati OH
Original Message:
Sent: Tue April 28, 2020 11:42 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Actually still getting the same issue
So works fine with Anywhere 7.6.3.1 with MF but error with Anywhere 764
Do they perform lookup data differently?
------------------------------
Christopher Kung
Original Message:
Sent: Thu April 23, 2020 11:50 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Found the cause to be with my DB overlay script for the system property mxe.oslc.webappurl
it had maxrest/oslc instead of maximo/oslc
------------------------------
Christopher Kung
Original Message:
Sent: Thu April 23, 2020 09:22 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Looks like its attributed to the database being overlayed with Prod
so begs the question what property could be causing this? I've changed the OSLC web url
------------------------------
Christopher Kung
Original Message:
Sent: Wed April 22, 2020 08:42 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Thanks for your suggestion Steven but its a single JVM environment. System info for reference
------------------------------
Christopher Kung
Original Message:
Sent: Wed April 22, 2020 07:54 AM
From: Steven Shull
Subject: Anywhere 764 - Unable to Refresh Lookup Data
Is your system clustered? If so, I would look at how you're routing traffic to the JVMs to ensure the requests are being routed to the same JVM each time. Stable pagination opens a MBO set on one of the JVMs to iterate through so all future requests referencing that id have to get routed to the same JVM for it to work or you'll get an error message like that. To validate that is the issue, I would go down to a single JVM and test it and see what happens if you are able to do so.
------------------------------
Steven Shull
Director of Development
Projetech Inc
Cincinnati OH
Original Message:
Sent: Wed April 22, 2020 05:38 AM
From: Christopher Kung
Subject: Anywhere 764 - Unable to Refresh Lookup Data
More Debug Logs on OSLC. If I go to that highlighted URL I get
{"oslc:Error":{"oslc:message":"BMXAA9510E - The stable page resource was not found because the reload of a stable page was attempted or the idle expiry time has expired.","oslc:statusCode":"404","oslc:extendedError":{"oslc:moreInfo":{"rdf:resource":"http:\/\/msmaxdevelopment.com\/maximo\/oslc\/error\/messages\/BMXAA9510E"}},"spi:reasonCode":"BMXAA9510E"}}
[DEBUG] [MAXIMO] [CID-MXOSLC-26089] OSOslcJsonSerializer::serializeResource-setLastAccessedCount=99[DEBUG] [MAXIMO] [CID-MXOSLC-26089] OSOslcJsonSerializer::serializeResource-setLastAccessedCount=99[DEBUG] [MAXIMO] [CID-MXOSLC-26089] OSOslcJsonSerializer::serializeResource-pageSize=100[DEBUG] [MAXIMO] [CID-MXOSLC-26089] 37337::OSOslcJsonSerializer::createResponseInfo::respInfoURI=http://XXXX/maximo/oslc/os/oslcasset?oslc.select=dcterms%3Aidentifier%2Cspi%3Aassetid%2Cspi%3Aorgid%2Cspi%3Asiteid%2Coslc%3AshortTitle%2Cdcterms%3Atitle%2Cspi%3Aisrunning%2Cspi%3Astatus%2Cspi%3Aitemnum%2Cspi%3Aitemtype%2Cspi%3Aitemsetid%2Cspi%3Aparent%2Cspi%3Adescription_longdescription%2Cspi%3Apluscduedate%2Cspi%3Apluscsolution%2Cspi%3Aupdownstatus%7Bspi%3Achangedate%7D%2Cspi%3AfailureCode%7Bdcterms%3Atitle%2Coslc%3AshortTitle%7D%2Cspi%3Alocation%7Bdcterms%3Atitle%2Coslc%3AshortTitle%7D&oslc.pageSize=100&oslc.where=spi%3Astatus+in+%5B%22ACTIVE%22%2C%22LIMITEDUSE%22%2C%22OPERATING%22%5D&stablepaging=true&fetchmodedelta=1[DEBUG] [MAXIMO] [CID-MXOSLC-26089] 37337::OSOslcSerializer::getNextPageURI::nextPageURI=http://XXXX/maximo/oslc/os/oslcasset?pageno=2&oslc.where=spi%3Astatus+in+%5B%22ACTIVE%22%2C%22LIMITEDUSE%22%2C%22OPERATING%22%5D&oslc.pageSize=100&fetchmodedelta=1&stablepaging=true&oslc.select=dcterms%3Aidentifier%2Cspi%3Aassetid%2Cspi%3Aorgid%2Cspi%3Asiteid%2Coslc%3AshortTitle%2Cdcterms%3Atitle%2Cspi%3Aisrunning%2Cspi%3Astatus%2Cspi%3Aitemnum%2Cspi%3Aitemtype%2Cspi%3Aitemsetid%2Cspi%3Aparent%2Cspi%3Adescription_longdescription%2Cspi%3Apluscduedate%2Cspi%3Apluscsolution%2Cspi%3Aupdownstatus%7Bspi%3Achangedate%7D%2Cspi%3AfailureCode%7Bdcterms%3Atitle%2Coslc%3AshortTitle%7D%2Cspi%3Alocation%7Bdcterms%3Atitle%2Coslc%3AshortTitle%7D&stableId=2916515875480122874108[DEBUG] [MAXIMO] [CID-MXOSLC-26089] 37337::OSOslcJsonSerializer::createResponseInfo::rsTotal=605[DEBUG] [MAXIMO] [CID-MXOSLC-26089] ==> doGet() '3': setting resource size: 112708[DEBUG] [MAXIMO] [CID-MXOSLC-26089] ==> sendResponse(): setting resource response size: 112708[DEBUG] [MAXIMO] [CID-MXOSLC-26089] before invoking request handler[DEBUG] [MAXIMO] [CID-MXOSLC-26103] existing session with id QnxFEMMi3rH7fv9B5iHbzIV[DEBUG] [MAXIMO] [CID-MXOSLC-26103] created request form client:fe80:0:0:0:2d6a:d242:f76c:c942%9[DEBUG] [MAXIMO] [CID-MXOSLC-26103] ClientIP: fe80:0:0:0:2d6a:d242:f76c:c942%9[DEBUG] [MAXIMO] [CID-MXOSLC-26103] method: GET[DEBUG] [MAXIMO] [CID-MXOSLC-26103] resourceReq: /oslc/os/oslcasset[DEBUG] [MAXIMO] [CID-MXOSLC-26103] Content-Type: null[DEBUG] [MAXIMO] [CID-MXOSLC-26103] RequestURI:/maximo/oslc/os/oslcasset[DEBUG] [MAXIMO] [CID-MXOSLC-26103] ==> RequestParams: pageno=2&oslc.where=spi%3Astatus+in+%5B%22ACTIVE%22%2C%22LIMITEDUSE%22%2C%22OPERATING%22%5D&oslc.pageSize=100&fetchmodedelta=1&stablepaging=true&oslc.select=dcterms%3Aidentifier%2Cspi%3Aassetid%2Cspi%3Aorgid%2Cspi%3Asiteid%2Coslc%3AshortTitle%2Cdcterms%3Atitle%2Cspi%3Aisrunning%2Cspi%3Astatus%2Cspi%3Aitemnum%2Cspi%3Aitemtype%2Cspi%3Aitemsetid%2Cspi%3Aparent%2Cspi%3Adescription_longdescription%2Cspi%3Apluscduedate%2Cspi%3Apluscsolution%2Cspi%3Aupdownstatus%7Bspi%3Achangedate%7D%2Cspi%3AfailureCode%7Bdcterms%3Atitle%2Coslc%3AshortTitle%7D%2Cspi%3Alocation%7Bdcterms%3Atitle%2Coslc%3AshortTitle%7D&stableId=2916515875480122874108[DEBUG] [MAXIMO] [CID-MXOSLC-26103] created request form client:fe80:0:0:0:2d6a:d242:f76c:c942%9[DEBUG] [MAXIMO] [CID-MXOSLC-26103] validateSession...[DEBUG] [MAXIMO] [CID-MXOSLC-26103] request contains maxauth header[DEBUG] [MAXIMO] [CID-MXOSLC-26103] unbinding the OSLC Session ...[INFO] [MAXIMO] [CID-MXOSLC-26103] Disconnecting the REST MXSession ...[INFO] [MAXIMO] [CID-MXOSLC-26103] REST MXSession disconnected[DEBUG] [MAXIMO] [CID-MXOSLC-26103] cleaning up the stable ids from session...[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...9261815875479955115670[DEBUG] [MAXIMO] [CID-MXOSLC-26103] released stable resource ...9261815875479955115670[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...6979815875479929002005[DEBUG] [MAXIMO] [CID-MXOSLC-26103] released stable resource ...6979815875479929002005[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...2916515875480122874108[DEBUG] [MAXIMO] [CID-MXOSLC-26103] released stable resource ...2916515875480122874108[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...9521315875479939019399[DEBUG] [MAXIMO] [CID-MXOSLC-26103] released stable resource ...9521315875479939019399[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...2158915875479949488843[DEBUG] [MAXIMO] [CID-MXOSLC-26103] released stable resource ...2158915875479949488843[DEBUG] [MAXIMO] [CID-MXOSLC-26103] releasing stable resource ...662615875479944648558[DEBUG] [MAXIMO] [CID-MXOSLC-26103] released stable resource ...662615875479944648558[DEBUG] [MAXIMO] [CID-MXOSLC-26103] before creating session........[DEBUG] [MAXIMO] [CID-MXOSLC-26103] request contains maxauth header[DEBUG] [MAXIMO] [CID-MXOSLC-26103] authenticateRequest loginid=chris.kung[DEBUG] [MAXIMO] [CID-MXOSLC-26103] after creating session........psdi.webclient.system.websession.SimpleWebAppSession@2b472d9e[DEBUG] [MAXIMO] [CID-MXOSLC-26103] request accept-language=en-gb[DEBUG] [MAXIMO] [CID-MXOSLC-26103] after setting user locale........psdi.webclient.system.websession.SimpleWebAppSession@2b472d9e[DEBUG] [MAXIMO] [CID-MXOSLC-26103] after connect session........psdi.webclient.system.websession.SimpleWebAppSession@2b472d9e[ERROR] [MAXIMO] [CID-MXOSLC-26103] BMXAA9510E - The stable page resource was not found because the reload of a stable page was attempted or the idle expiry time has expired.psdi.util.MXApplicationException: BMXAA9510E - The stable page resource was not found because the reload of a stable page was attempted or the idle expiry time has expired. at com.ibm.tivoli.maximo.oslc.provider.OSGETRouteHandler.handleRequest(OSGETRouteHandler.java:91) at com.ibm.tivoli.maximo.oslc.provider.MaximoOslcProviderServlet.handleRoute(MaximoOslcProviderServlet.java:1148) at com.ibm.tivoli.maximo.oslc.provider.MaximoOslcProviderServlet.doGet(MaximoOslcProviderServlet.java:685) at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1233) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:782) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) at psdi.webclient.system.filter.HttpXFrameOptionsFilter.doFilter(HttpXFrameOptionsFilter.java:38) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at psdi.webclient.system.filter.MTContextFilter.doFilter(MTContextFilter.java:53) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:949) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:213) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)22 Apr 2020 10:34:12:709 [DEBUG] [MAXIMO] [CID-MXOSLC-26103] Language is EN22 Apr 2020 10:34:12:709 [DEBUG] [MAXIMO] [CID-MXOSLC-26103] Message is is BMXAA9510E - The stable page resource was not found because the reload of a stable page was attempted or the idle expiry time has expired.
------------------------------
Christopher Kung
------------------------------
#Maximo
#MaximoAnywhere
#AssetandFacilitiesManagement