"value" in that message is the name of a column that is expect to be in
your table schema - the message is simply complaining that you have no
column named "value" in that table.
The error concerns the table schema, not any actual data in either the
statement or the table.

"metadata" is simply referring to your table schema.

Does your table schema have a "value" column?
Does your preared statement refer to a "value" column, or are you supplying
that name when executing the prepared statement?

The "datastax.driver.core" in the exception trace class names indicates
that the error is detected in the Java driver, not Cassandra.



-- Jack Krupansky

On Thu, May 5, 2016 at 6:45 PM, horschi <hors...@gmail.com> wrote:

> Hi Jack,
>
> I thought that it is Cassandra that fills the value on CAS failures. So
> the question if it is to be expected to have wasApplied()==false and not
> have any value in the ResultSet should belong here.
>
> So my question for this mailing list would be:
>
> Is it correct behaviour that C* returns wasApplied()==false but not any
> value? My expectation was that there always is a value in such a case.
>
> kind regards,
> Christian
>
>
> On Wed, May 4, 2016 at 6:00 PM, Jack Krupansky <jack.krupan...@gmail.com>
> wrote:
>
>> Probably better to ask this on the Java driver user list.
>>
>>
>> -- Jack Krupansky
>>
>> On Wed, May 4, 2016 at 11:46 AM, horschi <hors...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I am doing some testing on CAS operations and I am frequently having the
>>> issue that my resultset says wasApplied()==false, but it does not contain
>>> any value.
>>>
>>>
>>> This behaviour of course leads to the following Exception when I try to
>>> read it:
>>>
>>> Caused by: java.lang.IllegalArgumentException: value is not a column
>>> defined in this metadata
>>> at
>>> com.datastax.driver.core.ColumnDefinitions.getAllIdx(ColumnDefinitions.java:273)
>>> at
>>> com.datastax.driver.core.ColumnDefinitions.getFirstIdx(ColumnDefinitions.java:279)
>>> at
>>> com.datastax.driver.core.ArrayBackedRow.getIndexOf(ArrayBackedRow.java:68)
>>> at
>>> com.datastax.driver.core.AbstractGettableData.getBytes(AbstractGettableData.java:131)
>>>
>>>
>>>
>>> My questions now are:
>>>
>>> Is it to be expected that a failing CAS operation sometimes does this?
>>>
>>> if yes: Shouldn't there a possibility on the driver side to handle this
>>> in a better was, e.g. add a "hasColumn()" method or something to the
>>> ResultSet?
>>>
>>> if no: Is that perhaps a symptom to a greater issue in cassandra?
>>>
>>>
>>> kind regards,
>>> Christian
>>>
>>> PS: I also appreciate general feedback on the entire C* CAS topic :-)
>>>
>>>
>>>
>>
>

Reply via email to