Hi Sylvester,
I modified a random unit test (TestHiveMetaStoreTimeout.java) with client, and
added these lines:
client.setMetaConf("metastore.disallow.incompatible.col.type.changes", "false");
client.setMetaConf("hive.metastore.disallow.incompatible.col.type.changes",
"false");
The unit test run successfully on master, and on 3.0.0 too. So no exception
here.
My guess this could be a problem with multiple versions of hive on classpath.
Peter
> On Jul 11, 2018, at 19:21, Sylvester Steele <[email protected]>
> wrote:
>
> Hi Peter,
>
> client.setMetaConf("metastore.disallow.incompatible.col.type.changes",
> "false") gets me the same error:
>
> MetaException(message:Invalid configuration key
> metastore.disallow.incompatible.col.type.changes)
>
> Thanks
>
> On Wed, Jul 11, 2018 at 12:56 PM, Peter Vary <[email protected]
> <mailto:[email protected]>> wrote:
> Hi Sylvester,
>
> Probably the deprecated configurations are not handled here. Could you please
> try metastore.disallow.incompatible.col.type.changes?
> Thanks,
> Peter
>
>
>> On Jul 11, 2018, at 15:20, Sylvester Steele <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Hi Peter,
>>
>> I upgraded the metastore jar to 3.0.0 and when I do:
>>
>> ThriftHiveMetastore.Client client = new ThriftHiveMetastore.Client(protocol);
>> client.setMetaConf("hive.metastore.disallow.incompatible.col.type.changes",
>> "false");
>>
>> I get:
>>
>> MetaException(message:Invalid configuration key
>> hive.metastore.disallow.incompatible.col.type.changes)
>>
>> Am I not setting the property correctly, or will I have to upgrade the hive
>> server to version 2.4/3.0 as well?
>>
>> Thanks!
>>
>> On Wed, Jul 11, 2018 at 4:56 AM, Peter Vary <[email protected]
>> <mailto:[email protected]>> wrote:
>> Hi Sylvester,
>>
>> You can set this specific configuration value per session since HIVE-17832 -
>> Fixed in: Hive 3.0.0, Hive 2.4.0
>>
>> So you can do this change this value through thrift if your metastore
>> version is higher or equal than 2.4.0, or 3.0.0, but not with 1.2.1
>>
>> If you want to use 1.2.1 version you can change the configuration in the
>> hive-site.xml which is used by the metastore service.
>>
>> Hope this helps,
>> Peter
>>
>>> On Jul 10, 2018, at 22:09, Sylvester Steele <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> Hello,
>>>
>>> I am using hive-metastore jar version 1.2.1 and Hive version 2.3.2. I'd
>>> like to make incompatible schema changes to my Hive tables.
>>>
>>> The change I'm trying to make is to drop a column, which I am doing like
>>> so: table.getSd().setCols(remaining_cols). I'm dropping an int column. The
>>> column following it is a struct column, so my understanding is that it
>>> assumes I'm trying to convert an int column to a struct column.
>>>
>>> The error I get is:
>>>
>>> InvalidOperationException(message:The following columns have types
>>> incompatible with the existing columns in their respective positions...
>>>
>>> Doing
>>>
>>> ThriftHiveMetastore.Client client = new
>>> ThriftHiveMetastore.Client(protocol);
>>> client.get_config_value("hive.metastore.disallow.incompatible.col.type.changes",
>>> "default_value");
>>>
>>> gives me a true, which explains the failure earlier. How do I override this
>>> value to false? Also, AFAICT the default value is supposed to be false, so
>>> I'm not sure why this is returning true. I checked the hive-site.xml file
>>> and it doesn't have this set.
>>>
>>> Thanks for your help!
>>>
>>
>>
>
>