Github user manishgupta88 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2876#discussion_r229208742
--- Diff:
integration/spark2/src/main/scala/org/apache/spark/sql/CarbonDictionaryDecoder.scala
---
@@ -557,16 +561,20 @@ class CarbonDecoderRDD(
* It is a wrapper around Dictionary, it is a work around to keep the
dictionary serializable in
* case of codegen
* @param dictIdentifier Dictionary column unique identifier
+ * @param broadcastConf hadoop broadcast conf for serialization, that
contains carbon conf.
*/
class ForwardDictionaryWrapper(
- dictIdentifier: DictionaryColumnUniqueIdentifier) extends Serializable
{
+ dictIdentifier: DictionaryColumnUniqueIdentifier,
+ broadcastConf: Broadcast[SerializableConfiguration]) extends
Serializable {
var dictionary: Dictionary = null
var dictionaryLoader: DictionaryLoader = _
def getDictionaryValueForKeyInBytes (surrogateKey: Int): Array[Byte] = {
if (dictionary == null) {
+
ThreadLocalSessionInfo.getOrCreateCarbonSessionInfo().getNonSerializableExtraInfo
--- End diff --
Move this in doConsume method inside `if
(CarbonDictionaryDecoder.isRequiredToDecode(getDictionaryColumnIds)) {` as
wrapper is not the correct place for setting ThreadLocalSessionInfo
---