[jira] [Comment Edited] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14257183#comment-14257183 ] Alexander Radzin edited comment on CASSANDRA-8390 at 12/23/14 4:41 PM: --- Attached Log files (NoHostAvailable.zip) from run that reproduces NoHostAvailable problem. The {{cqlSync}} successfully finished 11 iterations and failed while doing the iterration #12. This is the client side exception: {noformat} com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.TransportException: [localhost/127.0.0.1:9042] Connection has been closed)) at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65) at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259) at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:36) at com.clarisite.clingine.dataaccesslayer.cassandra.CQLTest.cqlSync(CQLTest.java:32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at com.intellij.junit4.JUnit4TestRunnerUtil$IgnoreIgnoredTestJUnit4ClassRunner.runChild(JUnit4TestRunnerUtil.java:269) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.TransportException: [localhost/127.0.0.1:9042] Connection has been closed)) at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:102) at com.datastax.driver.core.RequestHandler$1.run(RequestHandler.java:176) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) {noformat} Here is the server side exception: {noformat} INFO 16:28:12 Compacted 4 sstables to [c:\progs\apache-cassandra-2.1.2\data\data\system\schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697\system-schema_columnfamilies-ka-881,]. 297,142 bytes to 295,369 (~99% of original) in 375ms = 0.751162MB/s. 16 total partitions merged to 13. Partition merge counts were {1:12, 4:1, } ERROR 16:28:12 Unable to delete c:\progs\apache-cassandra-2.1.2\data\data\system\schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697\system-schema_columnfamilies-ka-879-Data.db (it will be removed on server restart; we'll also retry after GC) ERROR 16:28:12 Exception in thread Thread[Non
[jira] [Updated] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexander Radzin updated CASSANDRA-8390: Attachment: NoHostAvailableLogs.zip Log files from run that reproduces NoHostAvailable problem. The {{cqlSync}} successfully finished 11 iterations and failed while doing the iterration #12. This is the client side exception: {noformat} com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.TransportException: [localhost/127.0.0.1:9042] Connection has been closed)) at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65) at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259) at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:36) at com.clarisite.clingine.dataaccesslayer.cassandra.CQLTest.cqlSync(CQLTest.java:32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at com.intellij.junit4.JUnit4TestRunnerUtil$IgnoreIgnoredTestJUnit4ClassRunner.runChild(JUnit4TestRunnerUtil.java:269) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.TransportException: [localhost/127.0.0.1:9042] Connection has been closed)) at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:102) at com.datastax.driver.core.RequestHandler$1.run(RequestHandler.java:176) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) {noformat} Here is the server side exception: {noformat} INFO 16:28:12 Compacted 4 sstables to [c:\progs\apache-cassandra-2.1.2\data\data\system\schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697\system-schema_columnfamilies-ka-881,]. 297,142 bytes to 295,369 (~99% of original) in 375ms = 0.751162MB/s. 16 total partitions merged to 13. Partition merge counts were {1:12, 4:1, } ERROR 16:28:12 Unable to delete c:\progs\apache-cassandra-2.1.2\data\data\system\schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697\system-schema_columnfamilies-ka-879-Data.db (it will be removed on server restart; we'll also retry after GC) ERROR 16:28:12 Exception in thread Thread[NonPeriodicTasks:1,5,main] org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: c:
[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14245902#comment-14245902 ] Alexander Radzin commented on CASSANDRA-8390: - Joshua McKenzie, thank you for your efforts. Today I managed to reproduce the issue on other developer's laptop, however everything worked well on integration machine. Laptops are running windows 7 and 8, integration machine windows 2002, R2. I played with sys internals and saw that there are 2 processes that act in cassandra data directory: windows defender and SVN. I stopped both and ran test again with process monitor from sysinternals and the problem happened again although the view of process monitor was clear (i.e. only java.exe) was active in this directory. Following your suggestion I ran the test again and executed {{hanle}} while test was running. And here are the results: {noformat} C:\Windows\system32>c:\progs\SysinternalsSuite\handle -a c:\progs\apache-cassandra-2.1.2\data Handle v3.51 Copyright (C) 1997-2013 Mark Russinovich Sysinternals - www.sysinternals.com java.exe pid: 1852 type: File 658: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506027.log java.exe pid: 1852 type: File 6C8: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506027.log java.exe pid: 1852 type: File 740: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506028.log java.exe pid: 1852 type: File 744: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506028.log java.exe pid: 1852 type: File 958: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columns-296e9c049bec3085827dc17d3df2122a\system-schema_columns-ka-1-Index.db java.exe pid: 1852 type: File 968: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columns-296e9c049bec3085827dc17d3df2122a\system-schema_columns-ka-1-Data.db java.exe pid: 1852 type: File 96C: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-1-Index.db java.exe pid: 1852 type: File 970: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-1-Data.db java.exe pid: 1852 type: File 974: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697\system-schema_columnfamilies-ka-1-Index.db java.exe pid: 1852 type: File 978: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columnfamilies-45f5b36024bc3f83a3631034ea4fa697\system-schema_columnfamilies-ka-1-Data.db C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32> C:\Windows\system32>c:\progs\SysinternalsSuite\handle -a c:\progs\apache-cassandra-2.1.2\data Handle v3.51 Copyright (C) 1997-2013 Mark Russinovich Sysinternals - www.sysinternals.com java.exe pid: 1852 type: File 658: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506027.log java.exe pid: 1852 type: File 6C8: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506027.log java.exe pid: 1852 type: File 740: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506028.log java.exe pid: 1852 type: File 744: C:\progs\apache-cassandra-2.1.2\data\commitlog\CommitLog-4-1418558506028.log java.exe pid: 1852 type: File 958: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columns-296e9c049bec3085827dc17d3df2122a\system-schema_columns-ka-26-Data.db java.exe pid: 1852 type: File 97C: C:\progs\apache-cassandra-2.1.2\data\data\system\local-7ad54392bcdd35a684174e047860b377\system-local-ka-5-Data.db java.exe pid: 1852 type: File B74: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-29-Data.db java.exe pid: 1852 type: File B7C: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columns-296e9c049bec3085827dc17d3df2122a\system-schema_columns-ka-26-Index.db java.exe pid: 1852 type: File BA0: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columns-296e9c049bec3085827dc17d3df2122a\system-schema_columns-ka-27-Data.db java.exe pid: 1852 type: File BA4: C:\progs\apache-cassandra-2.1.2\data\data\system\schema_columns-296e9c049bec3085827dc17d3df2122a\system-schema_columns-ka-25-Data.db java.exe pid: 1852 type: File B
[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14242835#comment-14242835 ] Alexander Radzin commented on CASSANDRA-8390: - FYI: I have Windows Defender on my computer. I have just tried to turn it off and got the same result. > The process cannot access the file because it is being used by another process > -- > > Key: CASSANDRA-8390 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8390 > Project: Cassandra > Issue Type: Bug >Reporter: Ilya Komolkin >Assignee: Joshua McKenzie > Fix For: 2.1.3 > > > 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - > Exception in thread Thread[NonPeriodicTasks:1,5,main] > org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > ~[na:1.7.0_71] > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) > ~[na:1.7.0_71] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_71] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_71] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71] > Caused by: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269) > ~[na:1.7.0_71] > at > sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103) > ~[na:1.7.0_71] > at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) > ~[cassandra-all-2.1.1.jar:2.1.1] > ... 11 common frames omitted -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14241928#comment-14241928 ] Alexander Radzin commented on CASSANDRA-8390: - I have cassandra 2.1.2, windowss 8.1. Typically it takes 1.5 iterations of main loop to reproduce the problem with cqlSync. As a windows 8 user I have Windows Defender. It is turned on. I have just ran the test again and it passed. Then I changed the year from 2013 to 2014 and ran the test again. It failed when arrived to month 11. {noformat} CREATE TABLE measure_201411.index_bcon_page_load_aggregation (partition ascii, attr ascii, value varchar, time timeuuid, bloom blob, PRIMARY KEY (partition, attr, value, time)) WITH compaction = { 'class' : 'SizeTieredCompactionStrategy', 'min_threshold' : 40, 'max_threshold' : 45 } AND gc_grace_seconds = 0 AND memtable_flush_period_in_ms = 30; CREATE TABLE measure_201411.bcon_page_event_aggregation (partition ascii, time timeuuid, data blob, PRIMARY KEY (partition, time)) WITH compaction = { 'class' : 'SizeTieredCompactionStrategy', 'min_threshold' : 40, 'max_threshold' : 45 } AND gc_grace_seconds = 0 AND memtable_flush_period_in_ms = 30; com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.TransportException: [localhost/127.0.0.1:9042] Error writing: Closed channel)) at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65) at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259) at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:36) at com.clarisite.clingine.dataaccesslayer.cassandra.CQLTest.cqlSync(CQLTest.java:32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at com.intellij.junit4.JUnit4TestRunnerUtil$IgnoreIgnoredTestJUnit4ClassRunner.runChild(JUnit4TestRunnerUtil.java:269) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:9042 (com.datastax.driver.core.TransportException: [localhost/127.0.0.1:9042] Error writing: Closed channel)) at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:102) at com.datastax.driver.core.RequestHandler$1.run(RequestHandler.java:176) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[jira] [Comment Edited] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14241255#comment-14241255 ] Alexander Radzin edited comment on CASSANDRA-8390 at 12/10/14 4:06 PM: --- Joshua McKenzie, I tried this with the same result. I validated that the parameter was indeed used by cassandra by changing value to something illegal. This threw exception. was (Author: alexander_radzin): Joshua McKenzie, I tried this with the same result. I validated that the value was indeed used by cassandra by changing value to something illegal. This threw exception. > The process cannot access the file because it is being used by another process > -- > > Key: CASSANDRA-8390 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8390 > Project: Cassandra > Issue Type: Bug >Reporter: Ilya Komolkin >Assignee: Joshua McKenzie > Fix For: 2.1.3 > > > 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - > Exception in thread Thread[NonPeriodicTasks:1,5,main] > org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > ~[na:1.7.0_71] > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) > ~[na:1.7.0_71] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_71] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_71] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71] > Caused by: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269) > ~[na:1.7.0_71] > at > sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103) > ~[na:1.7.0_71] > at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) > ~[cassandra-all-2.1.1.jar:2.1.1] > ... 11 common frames omitted -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14241255#comment-14241255 ] Alexander Radzin commented on CASSANDRA-8390: - Joshua McKenzie, I tried this with the same result. I validated that the value was indeed used by cassandra by changing value to something illegal. This threw exception. > The process cannot access the file because it is being used by another process > -- > > Key: CASSANDRA-8390 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8390 > Project: Cassandra > Issue Type: Bug >Reporter: Ilya Komolkin >Assignee: Joshua McKenzie > Fix For: 2.1.3 > > > 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - > Exception in thread Thread[NonPeriodicTasks:1,5,main] > org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > ~[na:1.7.0_71] > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) > ~[na:1.7.0_71] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_71] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > [na:1.7.0_71] > at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71] > Caused by: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) > ~[na:1.7.0_71] > at > sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:269) > ~[na:1.7.0_71] > at > sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103) > ~[na:1.7.0_71] > at java.nio.file.Files.delete(Files.java:1079) ~[na:1.7.0_71] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:131) > ~[cassandra-all-2.1.1.jar:2.1.1] > ... 11 common frames omitted -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240844#comment-14240844 ] Alexander Radzin edited comment on CASSANDRA-8390 at 12/10/14 10:29 AM: I have the same issue with Windows 8. Here is the "DiskAccessMode" line that I found in system.log of cassandra: {noformat} INFO [main] 2014-12-09 16:07:25,985 DatabaseDescriptor.java:203 - DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap {noformat} I have several lines like this. Important: when this happens client gets {{NoHostAvailableException}} and stops working that requires restart of cassandra. {noformat} com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried) at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65) at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259) at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:36) at com.clarisite.clingine.dataaccesslayer.cassandra.CQLTest1.cqlSync(CQLTest1.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried) at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:102) at com.datastax.driver.core.SessionManager.execute(SessionManager.java:461) at com.datastax.driver.core.SessionManager.executeQuery(SessionManager.java:497) at com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:87) ... 34 more {noformat} Here are the conditions that make this problem to be reproduced. Our application creates new keyspace every day. The keyspace contains about 60 tables. The issue happened on production relatively seldom, however it happens in testing environment all the time because each test case creates keyspace again. I guess that the problem is not specifically in creating keyspace and tables because sometimes the problem happens when trying to run {{truncate}}. Cassandra DB is running using default settings. The client code looks like the following: {noformat} Cluster cluster = Cluster.builder().addContactPoint("localhost").build(); Session session
[jira] [Comment Edited] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240844#comment-14240844 ] Alexander Radzin edited comment on CASSANDRA-8390 at 12/10/14 9:26 AM: --- I have the same issue with Windows 8. Here is the "DiskAccessMode" line that I found in system.log of cassandra: {noformat} INFO [main] 2014-12-09 16:07:25,985 DatabaseDescriptor.java:203 - DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap {noformat} I have several lines like this. Important: when this happens client gets {{NoHostAvailableException}} and stops working that requires restart of cassandra. {noformat} com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried) at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:65) at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:259) at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:175) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:36) at com.clarisite.clingine.dataaccesslayer.cassandra.CQLTest1.cqlSync(CQLTest1.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried) at com.datastax.driver.core.RequestHandler.sendRequest(RequestHandler.java:102) at com.datastax.driver.core.SessionManager.execute(SessionManager.java:461) at com.datastax.driver.core.SessionManager.executeQuery(SessionManager.java:497) at com.datastax.driver.core.SessionManager.executeAsync(SessionManager.java:87) ... 34 more {noformat} Here are the conditions that make this problem to be reproduced. Our application creates new keyspace every day. The keyspace contains about 60 tables. The issue happened on production relatively seldom, however it happens in testing environment all the time because each test case creates keyspace again. I guess that the problem is not specifically in creating keyspace and tables because sometimes the problem happens when trying to run {{truncate}}. Cassandra DB is running using default settings. The client code looks like the following: {noformat} Cluster cluster = Cluster.builder().addContactPoint("localhost").build(); Session session =
[jira] [Commented] (CASSANDRA-8390) The process cannot access the file because it is being used by another process
[ https://issues.apache.org/jira/browse/CASSANDRA-8390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240844#comment-14240844 ] Alexander Radzin commented on CASSANDRA-8390: - I have the same issue with Windows 8. Here is the "DiskAccessMode" line that I found in system.log of cassandra: {noformat} INFO [main] 2014-12-09 16:07:25,985 DatabaseDescriptor.java:203 - DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap {noformat} I have several lines like this. Here are the conditions that make this problem to be reproduced. Our application creates new keyspace every day. The keyspace contains about 60 tables. The issue happened on production relatively seldom, however it happens in testing environment all the time because each test case creates keyspace again. I guess that the problem is not specifically in creating keyspace and tables because sometimes the problem happens when trying to run {{truncate}}. Cassandra DB is running using default settings. The client code looks like the following: {noformat} Cluster cluster = Cluster.builder().addContactPoint("localhost").build(); Session session = cluster.connect(); String year = "2013"; for (int i = 1; i <= 12; i++) { String yearMonth = year + i; for (String template : cql.split("\\n")) { String query = String.format(template, yearMonth); System.out.println(query); session.execute(query); } } {noformat} Where {{cql}} contains {{create keyspace}} and a lot of {{create table}} statements. Interesting fact is that problem _does not appear_ when using asynchronous call: {noformat} Collection futures = new ArrayList<>(); Cluster cluster = Cluster.builder().addContactPoint("localhost").build(); Session session = cluster.connect(); String year = "2013"; for (int i = 1; i <= 1200; i++) { String yearMonth = year + i; for (String template : cql.split("\\n")) { String query = String.format(template, yearMonth); System.out.println(query); ResultSetFuture future = session.executeAsync(query); futures.add(future); } } Futures.successfulAsList(futures); {noformat} Although this can be a temporary workaround I will try to use the problem itself is IMHO extremely critical. Full source code can be found [here|https://gist.github.com/alexradzin/9223fc16e95318e017ec]. > The process cannot access the file because it is being used by another process > -- > > Key: CASSANDRA-8390 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8390 > Project: Cassandra > Issue Type: Bug >Reporter: Ilya Komolkin >Assignee: Joshua McKenzie > Fix For: 2.1.3 > > > 21:46:27.810 [NonPeriodicTasks:1] ERROR o.a.c.service.CassandraDaemon - > Exception in thread Thread[NonPeriodicTasks:1,5,main] > org.apache.cassandra.io.FSWriteError: java.nio.file.FileSystemException: > E:\Upsource_12391\data\cassandra\data\kernel\filechangehistory_t-a277b560764611e48c8e4915424c75fe\kernel-filechangehistory_t-ka-33-Index.db: > The process cannot access the file because it is being used by another > process. > > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:135) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.util.FileUtils.deleteWithConfirm(FileUtils.java:121) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTable.delete(SSTable.java:113) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableDeletingTask.run(SSTableDeletingTask.java:94) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > org.apache.cassandra.io.sstable.SSTableReader$6.run(SSTableReader.java:664) > ~[cassandra-all-2.1.1.jar:2.1.1] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > ~[na:1.7.0_71] > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) > ~[na:1.7.0_71] > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecut
[jira] [Commented] (CASSANDRA-7358) Conflict between guava from Cassandra and CQL Driver
[ https://issues.apache.org/jira/browse/CASSANDRA-7358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14018964#comment-14018964 ] Alexander Radzin commented on CASSANDRA-7358: - Johathan, I understand your reasons. However the problem is that right now this problem blocks upgrade of CQL driver to stable release that contains a bunch of bug fixes. > Conflict between guava from Cassandra and CQL Driver > > > Key: CASSANDRA-7358 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7358 > Project: Cassandra > Issue Type: Improvement >Reporter: Alexander Radzin > > The problem is that Cassandra still depends on guava 15 while CQL Driver > depends on guava 16. Attempts to run both in the same process (that is > typical for embedding cassandra e.g. for unit tests) causes incompatibility > problems: > {noformat} > java.lang.NoSuchMethodError: > com.google.common.util.concurrent.RateLimiter.acquire(I)V > at > org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer(CompressedThrottledReader.java:40) > at > org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:280) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:262) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:203) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:183) > at > org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.(MergeIterator.java:87) > at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46) > at > org.apache.cassandra.db.compaction.CompactionIterable.iterator(CompactionIterable.java:47) > at > org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:129) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > {noformat} > Method {{acquire()}} from class > {{com.google.common.util.concurrent.RateLimiter}} accepts one {{int}} > parameter but its return value changed. It was {{void}} but now it is > {{double}}. As far as I understand this is the reason for attached exception. > This problem does not allow us to upgrade CQL driver to version newer than > {{2.0.0-rc2}}. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-7358) Conflict between guava from Cassandra and CQL Driver
[ https://issues.apache.org/jira/browse/CASSANDRA-7358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alexander Radzin updated CASSANDRA-7358: Summary: Conflict between guava from Cassandra and CQL Driver (was: Cassandra is still using guava 15) > Conflict between guava from Cassandra and CQL Driver > > > Key: CASSANDRA-7358 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7358 > Project: Cassandra > Issue Type: Improvement >Reporter: Alexander Radzin > > The problem is that Cassandra still depends on guava 15 while CQL Driver > depends on guava 16. Attempts to run both in the same process (that is > typical for embedding cassandra e.g. for unit tests) causes incompatibility > problems: > {noformat} > java.lang.NoSuchMethodError: > com.google.common.util.concurrent.RateLimiter.acquire(I)V > at > org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer(CompressedThrottledReader.java:40) > at > org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:280) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:262) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:203) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > at > org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:183) > at > org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144) > at > org.apache.cassandra.utils.MergeIterator$ManyToOne.(MergeIterator.java:87) > at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46) > at > org.apache.cassandra.db.compaction.CompactionIterable.iterator(CompactionIterable.java:47) > at > org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:129) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > {noformat} > Method {{acquire()}} from class > {{com.google.common.util.concurrent.RateLimiter}} accepts one {{int}} > parameter but its return value changed. It was {{void}} but now it is > {{double}}. As far as I understand this is the reason for attached exception. > This problem does not allow us to upgrade CQL driver to version newer than > {{2.0.0-rc2}}. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7358) Cassandra is still using guava 15
Alexander Radzin created CASSANDRA-7358: --- Summary: Cassandra is still using guava 15 Key: CASSANDRA-7358 URL: https://issues.apache.org/jira/browse/CASSANDRA-7358 Project: Cassandra Issue Type: Improvement Reporter: Alexander Radzin The problem is that Cassandra still depends on guava 15 while CQL Driver depends on guava 16. Attempts to run both in the same process (that is typical for embedding cassandra e.g. for unit tests) causes incompatibility problems: {noformat} java.lang.NoSuchMethodError: com.google.common.util.concurrent.RateLimiter.acquire(I)V at org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer(CompressedThrottledReader.java:40) at org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:280) at org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:262) at org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.computeNext(SSTableScanner.java:203) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.io.sstable.SSTableScanner.hasNext(SSTableScanner.java:183) at org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144) at org.apache.cassandra.utils.MergeIterator$ManyToOne.(MergeIterator.java:87) at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46) at org.apache.cassandra.db.compaction.CompactionIterable.iterator(CompactionIterable.java:47) at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:129) at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) at org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) at org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) {noformat} Method {{acquire()}} from class {{com.google.common.util.concurrent.RateLimiter}} accepts one {{int}} parameter but its return value changed. It was {{void}} but now it is {{double}}. As far as I understand this is the reason for attached exception. This problem does not allow us to upgrade CQL driver to version newer than {{2.0.0-rc2}}. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-7299) Cluster.Builder throws UnknownHostException when adding not existing host
Alexander Radzin created CASSANDRA-7299: --- Summary: Cluster.Builder throws UnknownHostException when adding not existing host Key: CASSANDRA-7299 URL: https://issues.apache.org/jira/browse/CASSANDRA-7299 Project: Cassandra Issue Type: Bug Components: API Reporter: Alexander Radzin Priority: Trivial Connection to Cassandra cluster from client side is typically done using {{Cluster.Builder}} class that allows to configure the connection and then build cluster by invocation of method {{build()}}. Not all contact points must be available at creation time. If some of them start after the connection has been established they client continue its work using the newly connected endpoints. However if specific hostname is not available at the moment when builder is being created {{UnknownHostException}} is thrown. IMHO Typically applications tend to create builder on start-up when reading configuration parameters and then connect to Cassandra. For example in Spring based applications this happens during context creation. This issue prevents the application to start. This does not happen when using IP address even if it is not available at the moment. The problem is that {{Builder.addContactPoint()}} invokes {{InetAddress.getByName()}} when creating the builder. {noformat} public Builder addContactPoint(String address) { try { this.addresses.add(InetAddress.getByName(address)); return this; } catch (UnknownHostException e) { throw new IllegalArgumentException(e.getMessage()); } } {noformat} IMHO it should do this only when building the cluster. My current work around is to extend {{Cluster.Builder}} (fortunately it is public and not final) and store addresses in their textual for transforming the to instances of {{InetAddress}} only when {{build()}} is called. This is however not full solution because the {{Cluster}} itself also requires list of {{InetAddress}}. The point here is that we can create builder and cluster with unavailable contact points if string representation of IP address is supplied but cannot use symbolic computer name. This is because {{InetAddress.getByName()}} throws {{UnknownHostException}} only if host identified by name is not available: {quote} If a literal IP address is supplied, only the validity of the address format is checked. {quote} (from Javadoc of {{InetAddress.getByName()}}. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-6051) Wrong toString() of CQL3Type.Collection
Alexander Radzin created CASSANDRA-6051: --- Summary: Wrong toString() of CQL3Type.Collection Key: CASSANDRA-6051 URL: https://issues.apache.org/jira/browse/CASSANDRA-6051 Project: Cassandra Issue Type: Bug Components: Core Reporter: Alexander Radzin Priority: Minor {{Collection}} is an inner class of {{CQL3Type}} that represents column types that can contain several values (lists, sets, maps). Its {{toString()}} is very helpful: it generates a string representation of type that can be used for generating of {{CREATE TABLE}} statement. Unfortunately this method works incorrectly for maps. Instead of returning something like {{map}} it returns {{set}}. Here is the appropriate code fragment: {code:title=CQL3Type$Collection.java|borderStyle=solid} public String toString() { switch (type.kind) { case LIST: return "list<" + ((ListType)type).elements.asCQL3Type() + ">"; case SET: return "set<" + ((SetType)type).elements.asCQL3Type() + ">"; case MAP: MapType mt = (MapType)type; return "set<" + mt.keys.asCQL3Type() + ", " + mt.values.asCQL3Type() + ">"; } throw new AssertionError(); } {code} The obvious bug is here: {code:java} case MAP: MapType mt = (MapType)type; return "set<" + mt.keys.asCQL3Type() + ", " + {code} It should be {{"map<" + ...}} instead of {{"set<" + ...}} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira