Netflix/Priam

Issue with Priam making backups with Cassandra 3.11.2

rembeita opened this issue · 1 comments

Hi, I'm having some issues trying to make work the Priam solution on my box.
I've Ubuntu 16.04, Cassandra 3.11.2, Java Oracle 1.8 and Tomcat 8 .
Cassandra is installed as package from the cassandra.apache.org guide.
I've 2 AWS Medium Ec2 Instances in us-east-1 and I've SimpleDB working on AWS.
I've managed to make Priam work but I'm getting trouble to making backups.

root@ip-172-31-67-21:/Priam# curl http://127.0.0.1:8080/Priam/REST/v1/cassconfig/get_token
1808575600

When I do the following API request to start making the backup I get the following error.
curl http://127.0.0.1:8080/Priam/REST/v1/backup/do_snapshot

This is the catalina.out log of the operation.

INFO 19:26:32,039 About to upload file /var/lib/cassandra/data/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/snapshots/201808011926/mc-5-big-Data.db for backup
INFO 19:26:32,039 Uploading to mdo-cassandra-archive/mdo-backup/us-east-1/cass_cluster/1808575600/201808011926/SNAP/system/compaction_history-b4dbb7b4dc493fb5b3bfce6e434832ca/mc-5-big-Data.db with chunk size 10485760
INFO 19:26:32,055 Upload rate for file: mc-5-big-Data.db, elapsse time in sec(s): 0, KB per sec: 494.0
INFO 19:26:32,055 Skipping: keyspace: system, CF: peers-37f71aca7dc2383ba70672528af04d4f is part of filter list. Will clean up files from: snapshots
ERROR 19:26:32,056 Exception occured while taking snapshot: 201808011926. Exception: Unable to delete file: /var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/snapshots/201808011926/mc-1-big-CompressionInfo.db
INFO 19:26:32,056 Snapshot status of size 1 is saved to /var/lib/cassandra/data/backup.status
Aug 01, 2018 7:26:32 PM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.io.IOException: Unable to delete file: /var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/snapshots/201808011926/mc-1-big-CompressionInfo.db
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2400)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721)
at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1617)
at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2391)
at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1721)
at com.netflix.priam.utils.SystemUtils.cleanupDir(SystemUtils.java:71)
at com.netflix.priam.backup.AbstractBackup.initiateBackup(AbstractBackup.java:173)
at com.netflix.priam.backup.SnapshotBackup.execute(SnapshotBackup.java:101)
at com.netflix.priam.resources.BackupServlet.backup(BackupServlet.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

@rembeita You are getting error as backup service is unable to delete the backup file.
ERROR 19:26:32,056 Exception occured while taking snapshot: 201808011926. Exception: Unable to delete file: /var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/snapshots/201808011926/mc-1-big-CompressionInfo.db

Please check permissions of your folder(s) and that Priam has access to read/write to these snapshot folder(s).