No Rows Returned Error

I have been getting this error since the server restart. Not sure what doe it means? Has anyone exprienced something similar?

2013-08-19 17:29:36,017 ERROR [com.percussion.FTSIndexQueue] An unexpected exception occurred. The reason was: An error occurred while making an internal request in the CMS layer to location: “psx_ceHealthPage/owhHealthPage”. The text of the exception is: No rows returned in result set for fieldset ‘CT_HealthPage’… Please consult the log for further information.
2013-08-19 17:29:36,110 INFO [com.percussion.server.PSServerLogHandler] appid: 0 type: 1 time: Mon Aug 19 17:29:36 EDT 2013 msg: An internal error (end-condition) was encountered. An unexpected exception occurred:
An unexpected exception occurred. The reason was: An error occurred while making an internal request in the CMS layer to location: “psx_ceHealthPage/HealthPage”. The text of the exception is: No rows returned in result set for fieldset ‘CT_HealthPage’… Please consult the log for further information…
The call-stack was:
com.percussion.cms.PSCmsException: An error occurred while making an internal request in the CMS layer to location: “psx_ceHealthPage/HealthPage”. The text of the exception is: No rows returned in result set for fieldset ‘CT_HealthPage’.
at com.percussion.cms.objectstore.server.PSServerItem.super(Unknown Source)
at com.percussion.cms.objectstore.server.PSServerItem.super(Unknown Source)
at com.percussion.cms.objectstore.server.PSServerItem.load(Unknown Source)
at com.percussion.cms.objectstore.server.PSServerItem.load(Unknown Source)
at com.percussion.cms.objectstore.server.PSServerItem.<init>(Unknown Source)
at com.percussion.cms.objectstore.server.PSServerItem.loadItem(Unknown Source)
at com.percussion.search.PSSearchIndexEventQueue.loadItem(Unknown Source)
at com.percussion.search.PSSearchIndexEventQueue.processNextEventSet(Unknown Source)
at com.percussion.search.PSSearchIndexEventQueue.access$100(Unknown Source)
at com.percussion.search.PSSearchIndexEventQueue$1.run(Unknown Source)

Is this related to your failed content type import? This could be happening if content was in the search queue to be indexed but the content type is failing to start. Also confirm that there is still data in the CT_HealthPage table.

-n

This table does have about 1000+ Rows of data.

Is the content type started? You can check this with the System Administrator tool. It will show Inactive if the content type isn’t starting.

-n

Not sure where is the option to check if the content type is started or not. I went to Admin --> Tools --> Check Repository Consistency --> Selected the content type --> Clicked on Check Button.
Are you talking about something else, or the above option? Also after I did the above steps, it has been now more than 30mins running, and still running.

I would hold off on running RxFix or the Repository consistency checker until you fix your content type. You will introduce more change in your environment that will make it difficult to troubleshoot if you apply those tools.

The System Admistration tool is what you want to run. This is in the install Directory - RhythmyxServerAdministrator.exe. You can also access it in Applet form by clicking the User Administration button on the Workflow tab.

-n

Thanks Nate…I was able to get to the Rhythmyx Server Administrator. Not sure, what is next as I see the following options: Status, Settings, Datasources, Logging, Directory Services, Security, Serach, Monitor and Content Explorer. I dont see any place that has all the content types listed with their status (Active or Inactive)

Great.

The Status tab shows you a list of all active XML applications. Content Types are XML Applications. Scroll through the list and look for any applications that are inactive. The application that you are getting an error on is “psx_ceHealthPage” I am guessing that this application will show Inactive, and that the HealthPage content type is the type that you were having problems with in your other post?

You can start and stop content types by stopping and starting the corresponding XML Application for the type on the Status tab in the System Administration tool. The “code” for these applications lines up with the matching XML filename in the ObjectStore directory.

In this case you have a HealthPage content type, who’s XML application is psx_ceHealthPage, and has it’s content type definition stored here: ObjectStore\psx_ceHealthPage.xml with the local data being stored in the CT_HealthPage table in the database.

-n

Thanks Nate again. Yes I see the status tab, and my content type is listed over there. It shows active state. After I restored my original xml in the Server, I am now able to open the content type in workbench. However, now when I open a content item in Rhythmyx Content explorer, I am getting this XML Error:

<?xml version=“1.0” encoding=“utf-8” ?>

  • <StoredActionResults actionSetName=“transitcheckoutedit” originalHref=“…/psx_ceHealthPage/HealthPage.html”>
    <ActionResult actionName=“transit” status=“succeeded” />
  • <ActionResult actionName=“checkout” status=“failed”>
  • <Error className=“class com.percussion.data.PSInternalRequestCallException”>
    <Description>No item rows found to copy for item with content id (29830) and revision id (434)</Description>
    <Callstack>com.percussion.data.PSInternalRequestCallException: No item rows found to copy for item with content id (29830) and revision id (434) at com.percussion.cms.handlers.PSWorkflowCommandHandler.makeInternalRequest(Unknown Source) at com.percussion.cms.handlers.PSContentEditorHandler.makeInternalRequest(Unknown Source) at com.percussion.server.PSInternalRequest.new(Unknown Source) at com.percussion.server.PSInternalRequest.performUpdate(Unknown Source) at com.percussion.server.actions.c.o00000(Unknown Source) at com.percussion.server.actions.PSActionSetRequestHandler.processRequest(Unknown Source) at com.percussion.servlets.PSAppServlet.service(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.percussion.webdav.PSWebDavRequestFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.percussion.servlets.PSSecurityFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.percussion.servlets.PSCharacterSetFilter.doFilter(Unknown Source) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Unknown Source)</Callstack>
    </Error>
    </ActionResult>
    </StoredActionResults>

The strange fact is that the content item id that I am trying to open is 29830, but when I look in the database, the content id numbers start only from 30165 for this particular content type. It looks as if the content id has been re numbered for some reasons in the Database, and now it is mismatch with what there in the content explorer. Is there any way to update the Rhythmyx CX for this kind of issue?

If you look in the database, the Workbench creates an _BAK copy of a content type when performing changes. See if there is a CT_HealthPage_BAK table for the Content Type. If there is, visually compare it’s structure (columns) to the CT_HealthPage table and compare row counts (SELECT COUNT* FROM CT_HealthPage) / (SELECT COUNT* FROM CT_HealthPage_BAK) and content. Do you see that content id in the BAK table?

[QUOTE=manvinder12;20842]Thanks Nate again. Yes I see the status tab, and my content type is listed over there. It shows active state. After I restored my original xml in the Server, I am now able to open the content type in workbench. However, now when I open a content item in Rhythmyx Content explorer, I am getting this XML Error:

The strange fact is that the content item id that I am trying to open is 29830, but when I look in the database, the content id numbers start only from 30165 for this particular content type. It looks as if the content id has been re numbered for some reasons in the Database, and now it is mismatch with what there in the content explorer. Is there any way to update the Rhythmyx CX for this kind of issue?[/QUOTE]

I looked in the database, and there is the _bak table. However, there are no rows in the _bak table. The table structure is different. The _bak has one less column as compared to the normal table. Will running the rxfix help resolve this issue?

It sounds like you are using the old content type definition with the new table schema for the content type version. I would restart the instance first to see if that clears up anything old that may be cached in memory. Once the instance comes back you can try to edit the type in workbench and add the new local field back to the content type (use same name and datatype as the new type definition had). That should clean up the underlying XML and remap the table column.

If you are still getting ID errors after restart, then yeah you can try to run rxfix.

-n

Thanks the issue got fixed after I did the manual fix on the content type.

It is quite troublesome to import content types from a different system to yours. How about the templates? Is it OK to import the templates, or can it lead to corrupting of your original templates as a result of Templates import?

The Workbench content type import is good for new types, but if you are dropping/altering fields or doing more complex edits - there are glitches that can result in problems like you just had, the Multi Server Manager tool really is more robust for this use case.

In general I think most folks use MSM (RhythmyxMultiServerManager.exe) for transfer of content types from system to system. If using shared fields, copy the table schema, then the shared field definition. Then for content types, the trick is to copy the table schema first, then the content type. This generally avoids creating errors in the XML definition files. Obviously there are other dependencies (workflow, Keywords, etc) but that depends on what you are doing with the type and how out of sync the two instances are.

Templates have allot fewer moving parts. I don’t know that I have seen the Workbench template import blow up. That said you can use MSM for this as well, MSM also allows you to transfer objects like Slots which are generally needed for templates.

-n

WHen you say copy table schema, I believe you mean to manually add/ update the columns in the content type database table…Is that correct?

No. I mean in MSM in the Create Archive Wizard, you select Elements->Custom Elements->Table Schema->[Table for Your Content Type] before adding the Elements->Rhythmyx Elements->Content Type->[Your Content Type] content type definition.

This will cause the schema to be updated before the XML definition when installing the archive.

-n