2016-04-25 27 views
1

在模式導入實用程序中使用apache點火數據網格時會發生以下異常。使用主鍵「emp_no」作爲列名創建的表「employee」。 使用apache點燃模式導入實用程序生成pojo類和配置。嘗試執行分發附帶的示例程序。之後是例外。 阿帕奇點燃版本:1.5.0決賽在apache中使用帶「下劃線」字符的主鍵時出現異常

[16:45:58,890][ERROR][exchange-worker-#49%null%][GridDhtPartitionsExchangeFuture] Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=1, minorTopVer=1], nodeId=1073ac4a, evt=DISCOVERY_CUSTOM_EVT] 
class org.apache.ignite.IgniteCheckedException: Failed to register query type: TypeDescriptor [name=Employees, fields={empNo=class java.lang.Object, birthDate=class java.sql.Date, firstName=class java.lang.Object, lastName=class java.lang.Object, gender=class java.lang.Object, hireDate=class java.sql.Date}, indexes={PRIMARY=IndexDescriptor [type=SORTED]}, fullTextIdx=null, keyCls=class java.lang.Object, valCls=class java.lang.Object, valTextIdx=false, registered=false] 
    at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:1167) 
    at org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:291) 
    at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:457) 
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1038) 
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1648) 
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCachesStart(GridCacheProcessor.java:1563) 
    at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.startCaches(GridDhtPartitionsExchangeFuture.java:956) 
    at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:523) 
    at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1297) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.h2.jdbc.JdbcSQLException: Column "EMP_NO" not found; SQL statement: 
CREATE TABLE "EmployeesCache".Employees (_key OTHER NOT NULL,_val OTHER,empNo OTHER,birthDate DATE,firstName OTHER,lastName OTHER,gender OTHER,hireDate DATE) engine "org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine" [42122-175] 
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:332) 
    at org.h2.message.DbException.get(DbException.java:172) 
    at org.h2.message.DbException.get(DbException.java:149) 
    at org.h2.table.Table.getColumn(Table.java:626) 
    at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing$TableDescriptor.createIndexes(IgniteH2Indexing.java:1984) 
    at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.<init>(GridH2Table.java:106) 
    at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:675) 
    at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:659) 
    at org.h2.schema.Schema.createTable(Schema.java:584) 
    at org.h2.command.ddl.CreateTable.update(CreateTable.java:135) 
    at org.h2.command.CommandContainer.update(CommandContainer.java:79) 
    at org.h2.command.Command.executeUpdate(Command.java:253) 
    at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:181) 
    at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156) 
    at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:700) 
    at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.createTable(IgniteH2Indexing.java:1288) 
    at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:1160) 
    ... 10 more 
[16:45:58,890][ERROR][exchange-worker-#49%null%][GridCachePartitionExchangeManager] Runtime error caught during grid runnable execution: GridWorker [name=partition-exchanger, gridName=null, finished=false, isCancelled=false, hashCode=2115830072, interrupted=false, runner=exchange-worker-#49%null%] 
java.lang.NullPointerException 
    at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onExchangeDone(GridCacheProcessor.java:1723) 
    at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:1109) 
    at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java:87) 
    at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:334) 
    at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:873) 
    at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1297) 
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) 
    at java.lang.Thread.run(Thread.java:745) 

好像如果該表具有與「_」字符引起此問題列的任何索引。

回答

0

最近在Schema Import Utility中修復了很多bug。 您是否可以嘗試重新生成POJO,並使用最新的nightly build的模式導入實用程序再配置一次?

相關問題