আমি JBoss 7.1.1 ফাইনালের সার্ভার.লগ ফাইলে নিম্নলিখিত (কাটা) স্ট্যাকট্রেসটি দেখছি:
Caused by: org.postgresql.util.PSQLException:
ERROR: current transaction is aborted, commands ignored until end of
transaction block
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:302)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_23]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_23]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_23]
at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
at $Proxy49.executeUpdate(Unknown Source) at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:371)
at org.infinispan.loaders.jdbc.TableManipulation.executeUpdateSql(TableManipulation.java:154) [infinispan-cachestore-jdbc-5.1.2.FINAL.jar:5.1.2.FINAL]
... 154 more
পোস্টগ্রিস লগ ফাইল পরিদর্শন করা নিম্নলিখিত বিবৃতি প্রকাশ করে:
STATEMENT: SELECT count(*) FROM ISPN_MIXED_BINARY_TABLE_configCache
ERROR: current transaction is aborted, commands ignored until end of transaction block
STATEMENT: CREATE TABLE ISPN_MIXED_BINARY_TABLE_configCache(ID_COLUMN VARCHAR(255) NOT NULL, DATA_COLUMN BYTEA, TIMESTAMP_COLUMN BIGINT, PRIMARY KEY (ID_COLUMN))
ERROR: relation "ispn_mixed_binary_table_configcache" does not exist at character 22
আমি JBoss 7.1.1 ফাইনালের সাথে চালিত ইনফিনিস্প্যান ব্যবহার করছি, যা 5.1.2. ফাইনাল।
সুতরাং আমার মনে হয় এটি ঘটছে:
- ইনফিনস্প্যান এই
SELECT count(*)...
বিবৃতিটি চালানোর চেষ্টা করে যাতে দেখুন যে কোনও রেকর্ড রয়েছে কিনাISPN_MIXED_BINARY_TABLE_configCache
; - পোস্টগ্রিস, কোনও কারণে, এই বিবৃতিটি পছন্দ করে না।
- ইনফিনিস্প্যান এটিকে উপেক্ষা করে এবং
CREATE TABLE
বিবৃতিটি দিয়ে এগিয়ে গিয়ে লাঙল । - পোস্টফ্রেস বার্ফস কারণ এটি এখনও মনে করে যে এটি একই লেনদেন, যা ইনফিনিস্প্যান পিছনে ফিরে আসতে ব্যর্থ হয়েছে এবং এই লেনদেনটি প্রথম
SELECT count(*)...
বিবৃতি থেকে সূচিত হয়েছে ।
এই ত্রুটিটির অর্থ কী এবং এর চারপাশে কীভাবে কাজ করা যায় তার কোনও ধারণা?
PSQLException: current transaction is aborted...
(25P02
) এবং সম্ভবত এছাড়াওJPA
বা সন্ধান করছেনHibernate
। অবশেষে এটি আমাদের (দুর্দান্ত!) লগব্যাকের ব্যবহারের কারণে একটিtoString()
ওভারলোডেড ডিএও বস্তুতে খাওয়ানো হয়েছিল যা ত্রুটির কারণ হয়েছিল এবং খুব সুন্দরভাবে গ্রাস করেছে (তবে আমার দ্বারা আকস্মিকভাবে নজর দেওয়া হয়নি):log.info( "bla bla: {}", obj )
উত্পাদিতbla bla: [FAILED toString()]
। এটিকেlog.info( "bla bla: {}", String.valueOf( obj )
এটিকে বাতিল-সুরক্ষিত করে তোলা, তবে এটি গিলে না ফেলে এবং এইভাবে কোনও সম্পর্কহীন কোয়েরিতে লেনদেনকে ব্যর্থ করে দেয়।