• Welcome to KonaKart Community Forum. Please login or sign up.
 

errors in konacart but konakart admin works

Started by mayur, January 11, 2008, 07:27:10 pm

Previous topic - Next topic

mayur

Hey,

I am running Konakart 2.2.1.0 on a unix server with postgresql 8.1 as the db. I installed it using the silent mode with cmd line args. For some reason it did not create any tables and therefore I ran the konakart_demo.sql script using psql. However now, the konacart admin page opens up and works fine but the konakart page still throws up errors. I've checked the properties files and teh db credentials are the same. yet I get the following error.
Quoteexception

org.apache.jasper.JasperException: Cannot find bean: "konakartKey" in any scope
   org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239)
   org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341)
   org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
   org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

javax.servlet.ServletException: Cannot find bean: "konakartKey" in any scope
   org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
   org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
   org.apache.jsp.WEB_002dINF.jsp.MainLayout_jsp._jspService(MainLayout_jsp.java:305)
   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239)
   org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341)
   org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
   org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

javax.servlet.jsp.JspException: Cannot find bean: "konakartKey" in any scope
   org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:935)
   org.apache.struts.taglib.bean.DefineTag.doEndTag(DefineTag.java:230)
   org.apache.jsp.WEB_002dINF.jsp.MainLayout_jsp._jspService(MainLayout_jsp.java:77)
   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239)
   org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341)
   org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:572)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:221)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
   org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



I've checked the log files and this is what catalina.out gives me.

QuoteEngine used by application is com.konakart.app.KKEng
com.konakart.app.KKException: org.apache.torque.TorqueException: org.postgresql.util.PSQLException: ERROR: relation "counter_counter_id_seq" does not exist
        at com.konakart.app.KKEng.getTempCustomerId(Unknown Source)
        at com.konakart.al.CustomerMgr.createGuest(Unknown Source)
        at com.konakart.al.KKAppEng.<init>(Unknown Source)
        at com.konakart.al.ConfigCacheUpdater.getClientEng(Unknown Source)
        at com.konakart.al.ConfigCacheUpdater.updateConfigs(Unknown Source)
        at com.konakart.al.ConfigCacheUpdater.run(Unknown Source)
Caused by: org.apache.torque.TorqueException: org.postgresql.util.PSQLException: ERROR: relation "counter_counter_id_seq" does not exist
        at org.apache.torque.util.BasePeer.throwTorqueException(Unknown Source)
        at org.apache.torque.util.BasePeer.getId(Unknown Source)
        at org.apache.torque.util.BasePeer.doInsert(Unknown Source)
        at org.apache.torque.util.BasePeer.doInsert(Unknown Source)
        at com.konakart.bl.CustomerMgr.getTempCustomerId(Unknown Source)
        ... 6 more
Caused by: org.postgresql.util.PSQLException: ERROR: relation "counter_counter_id_seq" does not exist
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
        at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236)
        at com.workingdogs.village.QueryDataSet.<init>(Unknown Source)
        at org.apache.torque.oid.SequenceIdGenerator.getIdAsVillageValue(Unknown Source)
        at org.apache.torque.oid.SequenceIdGenerator.getIdAsBigDecimal(Unknown Source)
        ... 10 more
                     


I've checked the sql file, but couldn't find any such relation.


kate

January 12, 2008, 11:22:38 am #1 Last Edit: January 21, 2008, 02:57:23 pm by kate
Hello,

The short and easy answer is to use Postgresql 8.2 (although I realise this may be harder for you to do than me to say).

Perhaps it would be easier for you to use MySQL or another one of the databases that will work?

The errors you get clearly indicate that the database was not loaded correctly.   I don't have a postgresql 8.1 database to try but if you run the PostgreSQL/konakart_demo.sql (after removing the "IF EXISTS", which I don't think 8.1 supports) I don't *know* of any reasons why it should fail (although you may have found some obvious ones).

To check you can look to see if the sequence counter_counter_id_seq is created after you load the konakart_demo.sql script.   If it doesn't create that sequence I think it might be time to give up on postgresql 8.1 because this is definitely required.   I suppose it might be possible to create the create sequence statements manually - for all the SERIAL primary keys but I haven't done this, and I can't guarantee it would work.

You don't see the CREATE SEQUENCE statement explicitly in the DDL because it's created automatically when you issue this statement:

CREATE TABLE counter (
  counter_id SERIAL,
  startdate char( 8 ),
  counter integer,
  PRIMARY KEY (counter_id)
);

So...  a quick test would be to try that in postgresql 8.1 and if it doesn't create the sequence for you, it's not going to work.

If you run the above in postgresql 8.2 you get the sequence created automatically.

If the sequences fail to be created automatically in postgresql 8.1 and you try to create these sequences manually you have to create them with these conventions:

CREATE SEQUENCE <table>_<SERIAL column>_seq

for example:

CREATE SEQUENCE counter_counter_id_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;


Please feed back what you find.

Perhaps we need to say on on installation FAQ that we don't support postgresql 8.1.

Regards,
Kate

mayur

Hey, thnx a lot!

We have 8.2 running on our production server and hopefully shouldn't face any problems there. Our pre-production server however still runs 8.1 and worked fine when I created the sequence manually.

great work guys!

kate

Hello,

Thanks very much for the feedback.  It's good to know that it works with Postgresql 8.1 even if you do have to set up the sequences manually.

Good luck!

Kate