cannot persist segments from realtime after upgrading to 0.7.3

Please help!
I am getting this exception in the realtime logs:

2015-08-04T04:10:00,018 ERROR [dripstat-2015-08-04T03:00:00.000Z-persist-n-merge] io.druid.segment.realtime.plumber.RealtimePlumber - Failed to persist merged index[dripstat]: {class=io.druid.segment.realtime.plumber.RealtimePlumber, exceptionType=class com.metamx.common.ISE, exceptionMessage=Cannot merge columns of type[FLOAT] and [LONG], interval=2015-08-04T03:00:00.000Z/2015-08-04T04:00:00.000Z}

com.metamx.common.ISE: Cannot merge columns of type[FLOAT] and [LONG]

at io.druid.segment.column.ColumnCapabilitiesImpl.merge(ColumnCapabilitiesImpl.java:124) ~[druid-processing-0.7.3.jar:0.7.3]

at io.druid.segment.IndexMerger.makeIndexFiles(IndexMerger.java:449) ~[druid-processing-0.7.3.jar:0.7.3]

at io.druid.segment.IndexMerger.merge(IndexMerger.java:336) ~[druid-processing-0.7.3.jar:0.7.3]

at io.druid.segment.IndexMerger.mergeQueryableIndex(IndexMerger.java:218) ~[druid-processing-0.7.3.jar:0.7.3]

at io.druid.segment.IndexMerger.mergeQueryableIndex(IndexMerger.java:207) ~[druid-processing-0.7.3.jar:0.7.3]

at io.druid.segment.realtime.plumber.RealtimePlumber$4.doRun(RealtimePlumber.java:446) [druid-server-0.7.3.jar:0.7.3]

at io.druid.common.guava.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:40) [druid-common-0.7.3.jar:0.7.3]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_45]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_45]

at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]

This is my spec file:

[

{

“dataSchema” : {

“dataSource” : “dripstat”,

“parser” : {

“type” : “string”,

“parseSpec” : {

“format” : “json”,

“timestampSpec” : {

“column” : “timestamp”,

“format” : “auto”

},

“dimensionsSpec” : {

“dimensions”: ,

“dimensionExclusions” : ,

“spatialDimensions” :

}

}

},

“metricsSpec” : [ {

“type”: “count”,

“name”: “count”

},

{

“type”: “doubleSum”,

“name”: “min”,

“fieldName”: “min”

},

{

“type”: “doubleSum”,

“name”: “max”,

“fieldName”: “max”

},

{

“type”: “longSum”,

“name”: “callcount”,

“fieldName”: “callcount”

},

{

“type”: “longSum”,

“name”: “errcount”,

“fieldName”: “errcount”

},

{

“type”: “doubleSum”,

“name”: “totaltime”,

“fieldName”: “totaltime”

},

{

“type”: “doubleSum”,

“name”: “value”,

“fieldName”: “value”

},

{

“type”: “doubleSum”,

“name”: “traceduration”,

“fieldName”: “traceduration”

}],

“granularitySpec” : {

“type” : “uniform”,

“segmentGranularity” : “HOUR”,

“queryGranularity” : “NONE”

}

},

“ioConfig” : {

“type” : “realtime”,

“firehose”: {

“type”: “kafka-0.8”,

“consumerProps”: {

“zookeeper.connect”: “xx”,

“zookeeper.connection.timeout.ms” : “15000”,

“zookeeper.session.timeout.ms” : “15000”,

“zookeeper.sync.time.ms” : “5000”,

“group.id”: “druid-dripstat”,

“fetch.message.max.bytes” : “1048586”,

“auto.offset.reset”: “largest”,

“auto.commit.enable”: “false”

},

“feed”: “dripstat”

},

“plumber”: {

“type”: “realtime”

}

},

“tuningConfig”: {

“type” : “realtime”,

“maxRowsInMemory”: 500000,

“intermediatePersistPeriod”: “PT10m”,

“windowPeriod”: “PT10m”,

“basePersistDirectory”: “/data/realtime/basePersist”,

“rejectionPolicy”: {

“type”: “serverTime”

},

“shardSpec”: {

“type”: “linear”,

“partitionNum”: 0

}

}

}

]

something to note:
The realtime node was updated from 0.6 while this segment was still present on that node.

so in a sense this segment contains both configurations from 0.6 and 0.7 applied to it.

it seems only that particular segment is having issues.
all other new segments seem to be persisting fine.

what should i do about that segment?

only choices are to either delete it manually from the realtime nodes or somehow persist it.

I dont know how to do either.

Hi Prashant,
This seems to have been caused by the addition of Long Columns in 0.7 and the realtime node is unable to merge columns of different types while generating the index.

You need to manually delete the segment causing this issue from the persistDirectory of the realtime node.