You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by sudheer k <su...@gmail.com> on 2016/10/13 03:54:58 UTC

Cassandra Triggers - Cassandra internally creating trigger.jar files in /tmp/lib/ directory

Hi All,

I faced issue with triggers today. Below is the clear description of the
issue:

1) When we planned to use triggers, we placed the triggers.jar file in
/conf/triggers folder in Cassandra, restarted the Cassandra service and
created a trigger in CQLSH. Everything was working good as expected.

2) Recently we started getting the below error in Cassandra logs saying
trigger.jar is missing in /tmp/lib directory folder.

ServerError: <ErrorMessage code=0000 [Server error]
message="com.sun.jersey.spi.service.ServiceConfigurationError:
com.sun.jersey.spi.inject.InjectableProvider: :
java.io.FileNotFoundException: /tmp/lib/cassandra-8906616690931579554.jar
(No such file or directory)">

3) We thought that the jar is corrupted somehow and reloaded the triggers
again by placing the newly created jar and it worked fine.

4) We saw the similar error in other environments and saw that /tmp/lib
folder is not present in the server as our open stack servers have a
retention policy of 15 days and after that it deletes the /tmp/ files. As
the /tmp/ files are deleted, Cassandra is still pointing to the deleted
trigger.jar and not allowing the application to insert the records into the
table and throwing the errors.

5) So we came to know like whenever we reloadtriggers, it is creating a new
jar file in /tmp/lib/ directory as *cassandra-8754700968157790389.jar *(numbers
keep changing) and using this jar file for reference but not using the jar
that we placed in /conf/triggers folder.

6) I just need to know where can I change that default location /tmp/lib it
is using for creating the jar files?
Whether I can change that directory location to something else and use for
my Cassandra servers alone?
If there is any other solution, it is highly appreciated.

Note: Our management doesn't want to change the /tmp/ directory retention
policy as it is common for all our servers in all the environments.

--
Regards
Sudheer

Re: Cassandra Triggers - Cassandra internally creating trigger.jar files in /tmp/lib/ directory

Posted by sudheer k <su...@gmail.com>.
Thanks Vladimir!! I did that and it's working good now. It is taking new
location when I reloadtriggers. Really appreciate your support!

Regards
Sudheer

On Thursday, October 13, 2016, Vladimir Yudovin <vl...@winguzone.com>
wrote:

> Yes, pass this argument to bin/cassandra script:
> *bin/cassandra -Djava.io.tmpdir=/path/to/tmpdir*
>
>
> Best regards, Vladimir Yudovin,
>
>
> *Winguzone <https://winguzone.com?from=list> - Hosted Cloud Cassandra on
> Azure and SoftLayer.Launch your cluster in minutes.*
>
>
> ---- On Thu, 13 Oct 2016 00:36:35 -0400*sudheer k
> <sudheer.hdpdev@gmail.com
> <javascript:_e(%7B%7D,'cvml','sudheer.hdpdev@gmail.com');>>* wrote ----
>
> Sorry for the confusion. I didn't see that command line arguments you told
> in the mail. So, this arguments needs to be passed when I start Cassandra?
>
> Regards
> Sudheer
>
> On Thursday, October 13, 2016, sudheer k <sudheer.hdpdev@gmail.com
> <javascript:_e(%7B%7D,'cvml','sudheer.hdpdev@gmail.com');>> wrote:
>
>
>
> --
> --
> Regards
> Sudheer
>
> Appreciate your reply Vladimir! Is this the configuration I need to
> include in Cassandra-env.sh file?
>
> Regards
> Sudheer
>
> On Thursday, October 13, 2016, Vladimir Yudovin <vl...@winguzone.com>
> wrote:
>
>
> Hi,
>
> where can I change that default location /tmp/lib it is using for creating
> the jar files?
> Cassandra uses Java property java.io.tmpdir as temporary folder. By
> default it's /tmp but can be changed with command line arguments:
> *cassandra -Djava.io.tmpdir=/path/to/tmpdir*
>
> Best regards, Vladimir Yudovin,
>
> *Winguzone <https://winguzone.com?from=list> - Hosted Cloud Cassandra on
> Azure and SoftLayer.Launch your cluster in minutes.*
>
>
> ---- On Wed, 12 Oct 2016 23:54:58 -0400*sudheer k
> <su...@gmail.com>* wrote ----
>
> Hi All,
>
> I faced issue with triggers today. Below is the clear description of the
> issue:
>
> 1) When we planned to use triggers, we placed the triggers.jar file in
> /conf/triggers folder in Cassandra, restarted the Cassandra service and
> created a trigger in CQLSH. Everything was working good as expected.
>
> 2) Recently we started getting the below error in Cassandra logs saying
> trigger.jar is missing in /tmp/lib directory folder.
>
> ServerError: <ErrorMessage code=0000 [Server error] message="
> com.sun.jersey.spi.service.ServiceConfigurationError:
> com.sun.jersey.spi.inject.InjectableProvider: :
> java.io.FileNotFoundException: /tmp/lib/cassandra-8906616690931579554.jar
> (No such file or directory)">
>
> 3) We thought that the jar is corrupted somehow and reloaded the triggers
> again by placing the newly created jar and it worked fine.
>
> 4) We saw the similar error in other environments and saw that /tmp/lib
> folder is not present in the server as our open stack servers have a
> retention policy of 15 days and after that it deletes the /tmp/ files. As
> the /tmp/ files are deleted, Cassandra is still pointing to the deleted
> trigger.jar and not allowing the application to insert the records into the
> table and throwing the errors.
>
> 5) So we came to know like whenever we reloadtriggers, it is creating a
> new jar file in /tmp/lib/ directory as *cassandra-8754700968157790389.jar
> *(numbers keep changing) and using this jar file for reference but not
> using the jar that we placed in /conf/triggers folder.
>
> 6) I just need to know where can I change that default location /tmp/lib
> it is using for creating the jar files?
> Whether I can change that directory location to something else and use for
> my Cassandra servers alone?
> If there is any other solution, it is highly appreciated.
>
> Note: Our management doesn't want to change the /tmp/ directory retention
> policy as it is common for all our servers in all the environments.
>
> --
> Regards
> Sudheer
>
>
>
>
> --
> --
> Regards
> Sudheer
>
>
>

-- 
--
Regards
Sudheer

Re: Cassandra Triggers - Cassandra internally creating trigger.jar files in /tmp/lib/ directory

Posted by Vladimir Yudovin <vl...@winguzone.com>.
Yes, pass this argument to bin/cassandra script: 

bin/cassandra -Djava.io.tmpdir=/path/to/tmpdir





Best regards, Vladimir Yudovin, 

Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer.
Launch your cluster in minutes.






---- On Thu, 13 Oct 2016 00:36:35 -0400sudheer k &lt;sudheer.hdpdev@gmail.com&gt; wrote ----




Sorry for the confusion. I didn't see that command line arguments you told in the mail. So, this arguments needs to be passed when I start Cassandra?



Regards

Sudheer



On Thursday, October 13, 2016, sudheer k &lt;sudheer.hdpdev@gmail.com&gt; wrote:








-- 

--

Regards

Sudheer







Appreciate your reply Vladimir! Is this the configuration I need to include in Cassandra-env.sh file?



Regards

Sudheer



On Thursday, October 13, 2016, Vladimir Yudovin &lt;vladyu@winguzone.com&gt; wrote:



Hi,



where can I change that default location /tmp/lib it is using for creating the jar files? 

Cassandra uses Java property java.io.tmpdir as temporary folder. By default it's /tmp but can be changed with command line arguments:

cassandra -Djava.io.tmpdir=/path/to/tmpdir



Best regards, Vladimir Yudovin, 

Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer.
Launch your cluster in minutes.





---- On Wed, 12 Oct 2016 23:54:58 -0400sudheer k &lt;sudheer.hdpdev@gmail.com&gt; wrote ----




Hi All,



I faced issue with triggers today. Below is the clear description of the issue:



1) When we planned to use triggers, we placed the triggers.jar file in /conf/triggers folder in Cassandra, restarted the Cassandra service and created a trigger in CQLSH. Everything was working good as expected.



2) Recently we started getting the below error in Cassandra logs saying trigger.jar is missing in /tmp/lib directory folder.



ServerError: &lt;ErrorMessage code=0000 [Server error] message="com.sun.jersey.spi.service.ServiceConfigurationError: com.sun.jersey.spi.inject.InjectableProvider: : java.io.FileNotFoundException: /tmp/lib/cassandra-8906616690931579554.jar (No such file or directory)"&gt;



3) We thought that the jar is corrupted somehow and reloaded the triggers again by placing the newly created jar and it worked fine.



4) We saw the similar error in other environments and saw that /tmp/lib folder is not present in the server as our open stack servers have a retention policy of 15 days and after that it deletes the /tmp/ files. As the /tmp/ files are deleted, Cassandra is still pointing to the deleted trigger.jar and not allowing the application to insert the records into the table and throwing the errors.



5) So we came to know like whenever we reloadtriggers, it is creating a new jar file in /tmp/lib/ directory as cassandra-8754700968157790389.jar (numbers keep changing) and using this jar file for reference but not using the jar that we placed in /conf/triggers folder.



6) I just need to know where can I change that default location /tmp/lib it is using for creating the jar files? 

Whether I can change that directory location to something else and use for my Cassandra servers alone? 

If there is any other solution, it is highly appreciated.



Note: Our management doesn't want to change the /tmp/ directory retention policy as it is common for all our servers in all the environments.




--

Regards

Sudheer




















-- 

--

Regards

Sudheer











Re: Cassandra Triggers - Cassandra internally creating trigger.jar files in /tmp/lib/ directory

Posted by sudheer k <su...@gmail.com>.
Sorry for the confusion. I didn't see that command line arguments you told
in the mail. So, this arguments needs to be passed when I start Cassandra?

Regards
Sudheer

On Thursday, October 13, 2016, sudheer k <su...@gmail.com> wrote:

> Appreciate your reply Vladimir! Is this the configuration I need to
> include in Cassandra-env.sh file?
>
> Regards
> Sudheer
>
> On Thursday, October 13, 2016, Vladimir Yudovin <vladyu@winguzone.com
> <javascript:_e(%7B%7D,'cvml','vladyu@winguzone.com');>> wrote:
>
>> Hi,
>>
>> where can I change that default location /tmp/lib it is using for
>> creating the jar files?
>> Cassandra uses Java property java.io.tmpdir as temporary folder. By
>> default it's /tmp but can be changed with command line arguments:
>> *cassandra -Djava.io.tmpdir=/path/to/tmpdir*
>>
>> Best regards, Vladimir Yudovin,
>>
>>
>> *Winguzone <https://winguzone.com?from=list> - Hosted Cloud Cassandra on
>> Azure and SoftLayer.Launch your cluster in minutes.*
>>
>>
>> ---- On Wed, 12 Oct 2016 23:54:58 -0400*sudheer k
>> <su...@gmail.com>* wrote ----
>>
>> Hi All,
>>
>> I faced issue with triggers today. Below is the clear description of the
>> issue:
>>
>> 1) When we planned to use triggers, we placed the triggers.jar file in
>> /conf/triggers folder in Cassandra, restarted the Cassandra service and
>> created a trigger in CQLSH. Everything was working good as expected.
>>
>> 2) Recently we started getting the below error in Cassandra logs saying
>> trigger.jar is missing in /tmp/lib directory folder.
>>
>> ServerError: <ErrorMessage code=0000 [Server error] message="
>> com.sun.jersey.spi.service.ServiceConfigurationError:
>> com.sun.jersey.spi.inject.InjectableProvider: :
>> java.io.FileNotFoundException: /tmp/lib/cassandra-8906616690931579554.jar
>> (No such file or directory)">
>>
>> 3) We thought that the jar is corrupted somehow and reloaded the triggers
>> again by placing the newly created jar and it worked fine.
>>
>> 4) We saw the similar error in other environments and saw that /tmp/lib
>> folder is not present in the server as our open stack servers have a
>> retention policy of 15 days and after that it deletes the /tmp/ files. As
>> the /tmp/ files are deleted, Cassandra is still pointing to the deleted
>> trigger.jar and not allowing the application to insert the records into the
>> table and throwing the errors.
>>
>> 5) So we came to know like whenever we reloadtriggers, it is creating a
>> new jar file in /tmp/lib/ directory as *cassandra-8754700968157790389.jar
>> *(numbers keep changing) and using this jar file for reference but not
>> using the jar that we placed in /conf/triggers folder.
>>
>> 6) I just need to know where can I change that default location /tmp/lib
>> it is using for creating the jar files?
>> Whether I can change that directory location to something else and use
>> for my Cassandra servers alone?
>> If there is any other solution, it is highly appreciated.
>>
>> Note: Our management doesn't want to change the /tmp/ directory retention
>> policy as it is common for all our servers in all the environments.
>>
>> --
>> Regards
>> Sudheer
>>
>>
>>
>
> --
> --
> Regards
> Sudheer
>
>

-- 
--
Regards
Sudheer

Re: Cassandra Triggers - Cassandra internally creating trigger.jar files in /tmp/lib/ directory

Posted by sudheer k <su...@gmail.com>.
Appreciate your reply Vladimir! Is this the configuration I need to
include in Cassandra-env.sh file?

Regards
Sudheer

On Thursday, October 13, 2016, Vladimir Yudovin <vl...@winguzone.com>
wrote:

> Hi,
>
> where can I change that default location /tmp/lib it is using for creating
> the jar files?
> Cassandra uses Java property java.io.tmpdir as temporary folder. By
> default it's /tmp but can be changed with command line arguments:
> *cassandra -Djava.io.tmpdir=/path/to/tmpdir*
>
> Best regards, Vladimir Yudovin,
>
>
> *Winguzone <https://winguzone.com?from=list> - Hosted Cloud Cassandra on
> Azure and SoftLayer.Launch your cluster in minutes.*
>
>
> ---- On Wed, 12 Oct 2016 23:54:58 -0400*sudheer k
> <sudheer.hdpdev@gmail.com
> <javascript:_e(%7B%7D,'cvml','sudheer.hdpdev@gmail.com');>>* wrote ----
>
> Hi All,
>
> I faced issue with triggers today. Below is the clear description of the
> issue:
>
> 1) When we planned to use triggers, we placed the triggers.jar file in
> /conf/triggers folder in Cassandra, restarted the Cassandra service and
> created a trigger in CQLSH. Everything was working good as expected.
>
> 2) Recently we started getting the below error in Cassandra logs saying
> trigger.jar is missing in /tmp/lib directory folder.
>
> ServerError: <ErrorMessage code=0000 [Server error]
> message="com.sun.jersey.spi.service.ServiceConfigurationError:
> com.sun.jersey.spi.inject.InjectableProvider: :
> java.io.FileNotFoundException: /tmp/lib/cassandra-8906616690931579554.jar
> (No such file or directory)">
>
> 3) We thought that the jar is corrupted somehow and reloaded the triggers
> again by placing the newly created jar and it worked fine.
>
> 4) We saw the similar error in other environments and saw that /tmp/lib
> folder is not present in the server as our open stack servers have a
> retention policy of 15 days and after that it deletes the /tmp/ files. As
> the /tmp/ files are deleted, Cassandra is still pointing to the deleted
> trigger.jar and not allowing the application to insert the records into the
> table and throwing the errors.
>
> 5) So we came to know like whenever we reloadtriggers, it is creating a
> new jar file in /tmp/lib/ directory as *cassandra-8754700968157790389.jar
> *(numbers keep changing) and using this jar file for reference but not
> using the jar that we placed in /conf/triggers folder.
>
> 6) I just need to know where can I change that default location /tmp/lib
> it is using for creating the jar files?
> Whether I can change that directory location to something else and use for
> my Cassandra servers alone?
> If there is any other solution, it is highly appreciated.
>
> Note: Our management doesn't want to change the /tmp/ directory retention
> policy as it is common for all our servers in all the environments.
>
> --
> Regards
> Sudheer
>
>
>

-- 
--
Regards
Sudheer

Re: Cassandra Triggers - Cassandra internally creating trigger.jar files in /tmp/lib/ directory

Posted by Vladimir Yudovin <vl...@winguzone.com>.
Hi,



where can I change that default location /tmp/lib it is using for creating the jar files? 

Cassandra uses Java property java.io.tmpdir as temporary folder. By default it's /tmp but can be changed with command line arguments:

cassandra -Djava.io.tmpdir=/path/to/tmpdir



Best regards, Vladimir Yudovin, 

Winguzone - Hosted Cloud Cassandra on Azure and SoftLayer.
Launch your cluster in minutes.






---- On Wed, 12 Oct 2016 23:54:58 -0400sudheer k &lt;sudheer.hdpdev@gmail.com&gt; wrote ----




Hi All,



I faced issue with triggers today. Below is the clear description of the issue:



1) When we planned to use triggers, we placed the triggers.jar file in /conf/triggers folder in Cassandra, restarted the Cassandra service and created a trigger in CQLSH. Everything was working good as expected.



2) Recently we started getting the below error in Cassandra logs saying trigger.jar is missing in /tmp/lib directory folder.



ServerError: &lt;ErrorMessage code=0000 [Server error] message="com.sun.jersey.spi.service.ServiceConfigurationError: com.sun.jersey.spi.inject.InjectableProvider: : java.io.FileNotFoundException: /tmp/lib/cassandra-8906616690931579554.jar (No such file or directory)"&gt;



3) We thought that the jar is corrupted somehow and reloaded the triggers again by placing the newly created jar and it worked fine.



4) We saw the similar error in other environments and saw that /tmp/lib folder is not present in the server as our open stack servers have a retention policy of 15 days and after that it deletes the /tmp/ files. As the /tmp/ files are deleted, Cassandra is still pointing to the deleted trigger.jar and not allowing the application to insert the records into the table and throwing the errors.



5) So we came to know like whenever we reloadtriggers, it is creating a new jar file in /tmp/lib/ directory as cassandra-8754700968157790389.jar (numbers keep changing) and using this jar file for reference but not using the jar that we placed in /conf/triggers folder.



6) I just need to know where can I change that default location /tmp/lib it is using for creating the jar files? 

Whether I can change that directory location to something else and use for my Cassandra servers alone? 

If there is any other solution, it is highly appreciated.



Note: Our management doesn't want to change the /tmp/ directory retention policy as it is common for all our servers in all the environments.




--

Regards

Sudheer