[jira] [Commented] (CASSANDRA-10331) Establish and implement canonical bulk reading workload(s)

2016-03-06 Thread Stefania (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-10331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182702#comment-15182702
 ] 

Stefania commented on CASSANDRA-10331:
--

The cassandra-stress tool has been extended with a new user defined operation 
to perform bulk read queries. Here are the links to the patch and CI results:

|[patch|https://github.com/stef1927/cassandra/commits/10331]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10331-testall/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10331-dtest/]|

Each query sweeps an entire token range using the following CQL syntax:

{code}
SELECT token(pk), a, b, c FROM table WHERE token(pk) > X AND token(pk) <= Y
{code}

Here a,b and c are the columns selected by the user and pk is the partition 
key. {{token(pk)}} is added in order to count partitions. 

Users define a schema and add token range queries as follows:

{code}
token_range_queries:
  all_columns_tr_query:
columns: '*'  
page_size: 5000
split_factor: 1 
{code}

For each query the columns must be specified. Optionally, the page size and 
split factor can be specified. Each stress operation retrieves one page of a 
token range according to the page size specified by the user. The split factor 
can be used to split token ranges. This may be useful when VNODES are not used 
or to exploit thread parallelism further. 

The test cycles across token ranges, and each thread picks a token range. Two 
threads may download the same range in parallel if there aren't enough ranges 
to cycle through, but they will not share a token range retrieval. Each thread 
will download the token range page by page, with each stress operation 
downloading a single page. Once all pages have been retrieved, the thread moves 
on to the next range. If we run out of ranges we start again with the first 
one. When all iterations have been performed, or the test duration has been 
reached, the test halts.

I've created some user defined schemas in [this 
benchmark|https://github.com/stef1927/cstar_bulk_read_test] where the row size 
changes from 100 bytes to 10 MB and the clustering size changes from 1 to 1000 
rows. We can use these schemas as a starting point to measure bulk reading 
performance.

> Establish and implement canonical bulk reading workload(s)
> --
>
> Key: CASSANDRA-10331
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10331
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Ariel Weisberg
>Assignee: Stefania
> Fix For: 3.x
>
>
> Implement a client, use stress, or extend stress to a bulk reading workload 
> that is indicative of the performance we are trying to improve.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-11293) NPE when using CQLSSTableWriter

2016-03-06 Thread Will Hayworth (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182621#comment-15182621
 ] 

Will Hayworth commented on CASSANDRA-11293:
---

Just a note that going singlethreaded magically fixed everything. I'm guessing 
something isn't synchronized that needs to be? :S

> NPE when using CQLSSTableWriter
> ---
>
> Key: CASSANDRA-11293
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11293
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: C* 3.3, C* trunk
>Reporter: Will Hayworth
>
> Hi all!
> I'm trying to using CQLSSTableWriter to load a bunch of historical data into 
> my cluster and I'm getting NullPointerExceptions consistently after having 
> written a few million rows (anywhere from 0.5 to 1.5 GB of data).
> {code}
> java.lang.NullPointerException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>  at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>  at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at 
> java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598)
>  at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) 
> at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:735) at 
> java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) 
> at 
> java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
>  at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at 
> java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at 
> java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583)
>  at 
> com.atlassian.engagementengine.segmentation.helenus.Daemon.main(Daemon.java:24)
> Caused by: java.lang.NullPointerException at 
> org.apache.cassandra.db.ClusteringComparator.compare(ClusteringComparator.java:126)
>  at 
> org.apache.cassandra.db.ClusteringComparator.compare(ClusteringComparator.java:44)
>  at
> java.util.TimSort.binarySort(TimSort.java:296) at
> java.util.TimSort.sort(TimSort.java:239) at
> java.util.Arrays.sort(Arrays.java:1512) at
> org.apache.cassandra.utils.btree.BTree$Builder.sort(BTree.java:1027) at 
> org.apache.cassandra.utils.btree.BTree$Builder.autoEnforce(BTree.java:1036) 
> at org.apache.cassandra.utils.btree.BTree$Builder.build(BTree.java:1075) at 
> org.apache.cassandra.db.partitions.PartitionUpdate.build(PartitionUpdate.java:572)
>  at 
> org.apache.cassandra.db.partitions.PartitionUpdate.maybeBuild(PartitionUpdate.java:562)
>  at 
> org.apache.cassandra.db.partitions.PartitionUpdate.holder(PartitionUpdate.java:370)
>  at 
> org.apache.cassandra.db.partitions.AbstractBTreePartition.unfilteredIterator(AbstractBTreePartition.java:177)
>  at 
> org.apache.cassandra.db.partitions.AbstractBTreePartition.unfilteredIterator(AbstractBTreePartition.java:172)
>  at 
> org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter$DiskWriter.run(SSTableSimpleUnsortedWriter.java:209)
> {code}
> This may be a red herring, but I started encountering this when I 
> parallelized writes. (I wasn't aware that doing so was safe until I saw 
> CASSANDRA-7463; I Googled in vain for a while before that.) I'm also 
> definitely not passing any nulls in my {{addRow}} calls.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-10112) Refuse to start and print txn log information in case of disk corruption

2016-03-06 Thread Stefania (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-10112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182468#comment-15182468
 ] 

Stefania edited comment on CASSANDRA-10112 at 3/7/16 2:19 AM:
--

Thank you for the review.

bq. Can you verify that the failing 
{{org.apache.cassandra.io.sstable.SSTableWriterTest.testAbortTxnWithOpenEarlyShouldRemoveSSTable}}
 utest is not a regression?

It passes locally and it failed on trunk as well, see [build 
751|http://cassci.datastax.com/job/trunk_testall/751/testReport/org.apache.cassandra.io.sstable/SSTableWriterTest/testAbortTxnWithOpenEarlyShouldRemoveSSTable].

bq. It would be nice to use constants instead of magic numbers for 
{{StartupException}} exit status codes.

I've introduced 3 generic constants (1: wrong machine state, 3: wrong disk 
state, 100: wrong config). I had to change the JNA unavailable exit error from 
3 to 1. We could make the constants more specific but we'd have to change more 
exit codes.

bq. In {{LogRecord.make()}}, why do we catch {{Throwable}}? Should we be 
passing that through {{JVMStabilityInspector}}?

To catch the exceptions thrown by the {{valueOf()}} methods as far as I 
remember. I don't see anything else that could throw so I've replaced 
{{Throwable}} with {{IllegalArgumentException}}.

bq. {{removeUnfinishedCompactionLeftovers()}} could use some javadocs 
(especially explaining the return value).

Added some comments to {{LogTransaction.removeUnfinishedLeftovers()}}.

bq. I have a slight for using the term "directories" instead of "folders" (but 
it's not worth changing existing code for this)

You're quite right, folder is a Windows Explorer concept and it is not 
necessarily a directory. It didn't take long so I've changed the mentions to 
folder that I could find in the {{Log*}} files in {{db.lifecycle}}. 

bq. I think this ticket needs a {{doc-impacting}} label

Added.

--

I've restarted one more CI run.


was (Author: stefania):
Thank you for the review.

bq. Can you verify that the failing 
{{org.apache.cassandra.io.sstable.SSTableWriterTest.testAbortTxnWithOpenEarlyShouldRemoveSSTable}}
 utest is not a regression?

It passes locally and it failed on trunk as well, see [build 
751|http://cassci.datastax.com/job/trunk_testall/751/testReport/org.apache.cassandra.io.sstable/SSTableWriterTest/testAbortTxnWithOpenEarlyShouldRemoveSSTable].

bq. It would be nice to use constants instead of magic numbers for 
{{StartupException}} exit status codes.

I've introduced 3 generic constants (1: wrong machine state, 3: wrong disk 
state, 100: wrong config). I had to change the JNA unavailable exit error from 
3 to 1. We could make the constants more specific but we'd have to change more 
exit codes.

bq. In {{LogRecord.make()}}, why do we catch {{Throwable}}? Should we be 
passing that through {{JVMStabilityInspector}}?

To catch the exceptions thrown by the {{valueOf()}} methods as far as I 
remember. I don't see anything else that could throw so I've replaced 
{{Throwable}} with {{IllegalArgumentException}}.

bq. {{removeUnfinishedCompactionLeftovers()}} could use some javadocs 
(especially explaining the return value).

Added some comments to {{LogTransaction.removeUnfinishedLeftovers()}}.

bq. I have a slight for using the term "directories" instead of "folders" (but 
it's not worth changing existing code for this)

You're quite right, folder is a Windows Explorer concept and it is not 
necessarily a directory. It didn't take long so I've changed the mentions to 
folder that I could find in the {{Log*}} files in {{db.lifecycle}}. 

bq. I think this ticket needs a {doc-impacting}} label

Added.

I've restarted one more CI run.

> Refuse to start and print txn log information in case of disk corruption
> 
>
> Key: CASSANDRA-10112
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10112
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Stefania
>Assignee: Stefania
>  Labels: doc-impacting
> Fix For: 3.x
>
>
> Transaction logs were introduced by CASSANDRA-7066 and are read during 
> start-up. In case of file system errors, such as disk corruption, we 
> currently log a panic error and leave the sstable files and transaction logs 
> as they are; this is to avoid rolling back a transaction (i.e. deleting 
> files) by mistake.
> We should instead look at the {{disk_failure_policy}} and refuse to start 
> unless the failure policy is {{ignore}}. 
> We should also consider stashing files that cannot be read during startup, 
> either transaction logs or sstables, by moving them to a dedicated 
> sub-folder. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10112) Refuse to start and print txn log information in case of disk corruption

2016-03-06 Thread Stefania (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-10112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182468#comment-15182468
 ] 

Stefania commented on CASSANDRA-10112:
--

Thank you for the review.

bq. Can you verify that the failing 
{{org.apache.cassandra.io.sstable.SSTableWriterTest.testAbortTxnWithOpenEarlyShouldRemoveSSTable}}
 utest is not a regression?

It passes locally and it failed on trunk as well, see [build 
751|http://cassci.datastax.com/job/trunk_testall/751/testReport/org.apache.cassandra.io.sstable/SSTableWriterTest/testAbortTxnWithOpenEarlyShouldRemoveSSTable].

bq. It would be nice to use constants instead of magic numbers for 
{{StartupException}} exit status codes.

I've introduced 3 generic constants (1: wrong machine state, 3: wrong disk 
state, 100: wrong config). I had to change the JNA unavailable exit error from 
3 to 1. We could make the constants more specific but we'd have to change more 
exit codes.

bq. In {{LogRecord.make()}}, why do we catch {{Throwable}}? Should we be 
passing that through {{JVMStabilityInspector}}?

To catch the exceptions thrown by the {{valueOf()}} methods as far as I 
remember. I don't see anything else that could throw so I've replaced 
{{Throwable}} with {{IllegalArgumentException}}.

bq. {{removeUnfinishedCompactionLeftovers()}} could use some javadocs 
(especially explaining the return value).

Added some comments to {{LogTransaction.removeUnfinishedLeftovers()}}.

bq. I have a slight for using the term "directories" instead of "folders" (but 
it's not worth changing existing code for this)

You're quite right, folder is a Windows Explorer concept and it is not 
necessarily a directory. It didn't take long so I've changed the mentions to 
folder that I could find in the {{Log*}} files in {{db.lifecycle}}. 

bq. I think this ticket needs a {doc-impacting}} label

Added.

I've restarted one more CI run.

> Refuse to start and print txn log information in case of disk corruption
> 
>
> Key: CASSANDRA-10112
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10112
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Stefania
>Assignee: Stefania
>  Labels: doc-impacting
> Fix For: 3.x
>
>
> Transaction logs were introduced by CASSANDRA-7066 and are read during 
> start-up. In case of file system errors, such as disk corruption, we 
> currently log a panic error and leave the sstable files and transaction logs 
> as they are; this is to avoid rolling back a transaction (i.e. deleting 
> files) by mistake.
> We should instead look at the {{disk_failure_policy}} and refuse to start 
> unless the failure policy is {{ignore}}. 
> We should also consider stashing files that cannot be read during startup, 
> either transaction logs or sstables, by moving them to a dedicated 
> sub-folder. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-10112) Refuse to start and print txn log information in case of disk corruption

2016-03-06 Thread Stefania (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-10112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefania updated CASSANDRA-10112:
-
Labels: doc-impacting  (was: )

> Refuse to start and print txn log information in case of disk corruption
> 
>
> Key: CASSANDRA-10112
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10112
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Stefania
>Assignee: Stefania
>  Labels: doc-impacting
> Fix For: 3.x
>
>
> Transaction logs were introduced by CASSANDRA-7066 and are read during 
> start-up. In case of file system errors, such as disk corruption, we 
> currently log a panic error and leave the sstable files and transaction logs 
> as they are; this is to avoid rolling back a transaction (i.e. deleting 
> files) by mistake.
> We should instead look at the {{disk_failure_policy}} and refuse to start 
> unless the failure policy is {{ignore}}. 
> We should also consider stashing files that cannot be read during startup, 
> either transaction logs or sstables, by moving them to a dedicated 
> sub-folder. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-10750) Minor code improvements

2016-03-06 Thread Stefania (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-10750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182414#comment-15182414
 ] 

Stefania commented on CASSANDRA-10750:
--

3.2. 

Should we ninja fix CHANGES.txt?

> Minor code improvements
> ---
>
> Key: CASSANDRA-10750
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10750
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.2
>
>
> Went though several IDE inspections and found some places in the code that 
> could be improved. These are just minor improvements and no bug fixes (except 
> one minor "theoretical" thing).
> The [branch on github against 
> trunk|https://github.com/snazy/cassandra/tree/10750-code-opts-trunk] contains 
> a series of commits:
> * simplify Mutation.apply to remove the casts
> * "minor code improvements" just replaces some expressions that are 
> effectively constant
> * remove unused assignments (probably just cosmetic)
> * collapse identical if-branches (probably just cosmetic)
> * empty array constants
> * fix printf usage (could potentially raise an exception in printf)
> * replace tail-recursion in some critical sections (as the JVM cannot 
> optimize that AFAIK)
> * remove methods identical to their super methods (probably just cosmetic)
> [cassci results 
> here|http://cassci.datastax.com/view/Dev/view/snazy/search/?q=snazy-10750-]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-10750) Minor code improvements

2016-03-06 Thread Stefania (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-10750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefania updated CASSANDRA-10750:
-
Fix Version/s: 3.2

> Minor code improvements
> ---
>
> Key: CASSANDRA-10750
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10750
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.2
>
>
> Went though several IDE inspections and found some places in the code that 
> could be improved. These are just minor improvements and no bug fixes (except 
> one minor "theoretical" thing).
> The [branch on github against 
> trunk|https://github.com/snazy/cassandra/tree/10750-code-opts-trunk] contains 
> a series of commits:
> * simplify Mutation.apply to remove the casts
> * "minor code improvements" just replaces some expressions that are 
> effectively constant
> * remove unused assignments (probably just cosmetic)
> * collapse identical if-branches (probably just cosmetic)
> * empty array constants
> * fix printf usage (could potentially raise an exception in printf)
> * replace tail-recursion in some critical sections (as the JVM cannot 
> optimize that AFAIK)
> * remove methods identical to their super methods (probably just cosmetic)
> [cassci results 
> here|http://cassci.datastax.com/view/Dev/view/snazy/search/?q=snazy-10750-]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Comment Edited] (CASSANDRA-8928) Add downgradesstables

2016-03-06 Thread Kaide Mu (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15174611#comment-15174611
 ] 

Kaide Mu edited comment on CASSANDRA-8928 at 3/6/16 5:54 PM:
-

Hi, [~yukim]

Thanks for the quick replay, I had been looking for SSTable formats on branch 
2.2(la), 2.1(ka) and 2.0(jb). I'm not sure if I'm in the right way, but I had 
been looking for following stuffs:

- Regarding to changelog on 
[BIgVersion|https://github.com/apache/cassandra/blob/cassandra-3.3/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java#L116]:
-- There's some change with checksums such as adler32 for compression check sum.
-- In version 2.1 introduces Statistics, but I found it as component of SSTable 
in version 2.0(?)
-- Vesion 2.2 only introduces a new file name format, "la".

- Respect to "Formats", I had been looking for 
[SSTableFormat|https://github.com/apache/cassandra/blob/trunk/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2Fformat%2FSSTableFormat.java#L35]
 available on branch 2.2, that contains table format type, which is "big", but 
I didn't find any information about that on branch 2.1 and 2.0. Also there's no 
indication of this thing in its 
[Descriptors|https://github.com/apache/cassandra/blob/cassandra-2.1/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FDescriptor.java#L39].
 Also as I mentioned before I had been looking for 
[Components|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/io/sstable/Component.java#L32]
 of each branch and seems the main differences are:
-- They use different hash functions for digest 2.2 uses adler32, 2.1 and 2.0 
uses sha-1
-- 2.0 version has COMPACTED_MARKER, which is removed in forward versions.
I'm not sure if i missed something.
- Therefore, if I'm correct, please correct me if not, if we want to write (I 
have a question about this terminology, when we say write in this context do we 
mean write, or create? Because I found that SSTable is immutable after 
creation) an older version of SSTable we should have proper Digest and 
COMPACTED_MARKER also in case of jb.

My sincerest apologies for making this comment this way long, If above 
considerations are correct, I'll continue looking for code base and SSTable 
API, also would you mind tell me where can I find implementation of changes 
proposed in the BigVersion and implementation of SSTable, I had been looking 
for 
[SSTable|https://github.com/apache/cassandra/blob/cassandra-2.2/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FSSTable.java#L57]
 but I don't know if it's the right one.

Best regards,

Kaide Mu



was (Author: kdmu):
Hi, dear Yuki.

Thanks for the quick replay, I had been looking for SSTable formats on branch 
2.2(la), 2.1(ka) and 2.0(jb). I'm not sure if I'm in the right way, but I had 
been looking for following stuffs:

- Regarding to changelog on 
[BIgVersion|https://github.com/apache/cassandra/blob/cassandra-3.3/src/java/org/apache/cassandra/io/sstable/format/big/BigFormat.java#L116]:
-- There's some change with checksums such as adler32 for compression check sum.
-- In version 2.1 introduces Statistics, but I found it as component of SSTable 
in version 2.0(?)
-- Vesion 2.2 only introduces a new file name format, "la".

- Respect to "Formats", I had been looking for 
[SSTableFormat|https://github.com/apache/cassandra/blob/trunk/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2Fformat%2FSSTableFormat.java#L35]
 available on branch 2.2, that contains table format type, which is "big", but 
I didn't find any information about that on branch 2.1 and 2.0. Also there's no 
indication of this thing in its 
[Descriptors|https://github.com/apache/cassandra/blob/cassandra-2.1/src%2Fjava%2Forg%2Fapache%2Fcassandra%2Fio%2Fsstable%2FDescriptor.java#L39].
 Also as I mentioned before I had been looking for 
[Components|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/io/sstable/Component.java#L32]
 of each branch and seems the main differences are:
-- They use different hash functions for digest 2.2 uses adler32, 2.1 and 2.0 
uses sha-1
-- 2.0 version has COMPACTED_MARKER, which is removed in forward versions.
I'm not sure if i missed something.
- Therefore, if I'm correct, please correct me if not, if we want to write (I 
have a question about this terminology, when we say write in this context do we 
mean write, or create? Because I found that SSTable is immutable after 
creation) an older version of SSTable we should have proper Digest and 
COMPACTED_MARKER also in case of jb.

My sincerest apologies for making this comment this way long, If above 
considerations are correct, I'll continue looking for code base and SSTable 
API, also would you mind tell me where can I find implementation of changes 
proposed in the BigVersion and implementation of SSTable, I had been looking 
for 

[jira] [Commented] (CASSANDRA-11309) Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

2016-03-06 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15182147#comment-15182147
 ] 

Robert Stupp commented on CASSANDRA-11309:
--

[Git 
branch|https://github.com/apache/cassandra/compare/trunk...snazy:11309-generic-udf-broken-trunk?expand=1]
[cassci 
utests|http://cassci.datastax.com/view/Dev/view/snazy/job/snazy-11309-generic-udf-broken-trunk-testall/]
[cassci 
dtests|http://cassci.datastax.com/view/Dev/view/snazy/job/snazy-11309-generic-udf-broken-trunk-dtest/]

> Generic Java UDF types broken for RETURNS NULL ON NULL INPUT
> 
>
> Key: CASSANDRA-11309
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11309
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.5
>
>
> The Java source generated for Java UDFs as introduced by CASSANDRA-10819 is 
> broken for {{RETURNS NULL ON NULL INPUT}} (not for {{CALLED ON NULL INPUT}}). 
> This means that the generic types are lost for RETURNS NULL ON NULL INPUT but 
> work as expected for CALLED ON NULL INPUT.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-11309) Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

2016-03-06 Thread Robert Stupp (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-11309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Stupp updated CASSANDRA-11309:
-
Status: Patch Available  (was: Open)

> Generic Java UDF types broken for RETURNS NULL ON NULL INPUT
> 
>
> Key: CASSANDRA-11309
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11309
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Robert Stupp
>Assignee: Robert Stupp
>Priority: Minor
> Fix For: 3.5
>
>
> The Java source generated for Java UDFs as introduced by CASSANDRA-10819 is 
> broken for {{RETURNS NULL ON NULL INPUT}} (not for {{CALLED ON NULL INPUT}}). 
> This means that the generic types are lost for RETURNS NULL ON NULL INPUT but 
> work as expected for CALLED ON NULL INPUT.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-11309) Generic Java UDF types broken for RETURNS NULL ON NULL INPUT

2016-03-06 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-11309:


 Summary: Generic Java UDF types broken for RETURNS NULL ON NULL 
INPUT
 Key: CASSANDRA-11309
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11309
 Project: Cassandra
  Issue Type: Bug
Reporter: Robert Stupp
Assignee: Robert Stupp
Priority: Minor
 Fix For: 3.5


The Java source generated for Java UDFs as introduced by CASSANDRA-10819 is 
broken for {{RETURNS NULL ON NULL INPUT}} (not for {{CALLED ON NULL INPUT}}). 
This means that the generic types are lost for RETURNS NULL ON NULL INPUT but 
work as expected for CALLED ON NULL INPUT.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)