There was an open issue indeed but a PR solved it for 4.15. The issue
reported on this email looks a bit different than the ones I have seen.

Background on a recent issue:
- Issue #4498 "RBD Snapshot fails when snapshot.backup.to.secondary: true"
has been fixed by PR #4568 "kvm: Fix double-escape issue while creating rbd
disk options"

Reading the log:
- In order for such a null pointer to happen the volume from the snapshot
has been deleted on DB. Thus, it is either a bug or an inconsistency on the
DB; e.g.: deleting the volume prior to its Snapshots.

Is this occurrence an isolated one or does it happen with multiple
snapshots that have been deleted?

#4498: https://github.com/apache/cloudstack/issues/4498
#4568: https://github.com/apache/cloudstack/pull/4568

Em qui., 4 de mar. de 2021 às 18:55, Rakesh v <www.rakeshv....@gmail.com>
escreveu:

> If I remember properly there is already an issue raised for it in github
>
> Sent from my iPhone
>
> > On Mar 4, 2021, at 9:48 PM, Andrija Panic <andrija.pa...@gmail.com>
> wrote:
> >
> > @Gabriel Beims Bräscher <gabrasc...@gmail.com> does this rings any
> bells
> > for you? I haven't played with Ceph / snap clean-up issue on 4.15 myself.
> >
> > Best,
> >
> >> On Tue, 2 Mar 2021 at 17:16, Edward St Pierre <
> edward.stpie...@gmail.com>
> >> wrote:
> >>
> >> Hi All,
> >>
> >> I Wonder if someone could help me.
> >>
> >> Currently using ceph for primary storage and have
> >> 'snapshot.backup.to.secondary' enabled.
> >>
> >> Since upgrading to 4.15 the volume snapshots do not seem to be getting
> >> deleted from the secondary storage.  Could this be a bug?
> >>
> >> Also when logged in as the main admin account when navigating to
> 'Storage /
> >> Snapshots' an Error 500 is returned with the following error in the
> logs:
> >>
> >> 2021-03-02 16:11:01,018 ERROR [c.c.a.ApiServer]
> >> (qtp1762902523-19:ctx-60162a51 ctx-75a1b986) (logid:368908bb) unhandled
> >> exception executing api command: [Ljava.lang.String;@7ac2d249
> >> java.lang.NullPointerException
> >>        at
> >>
> >>
> org.apache.cloudstack.storage.snapshot.StorageSystemSnapshotStrategy.canHandle(StorageSystemSnapshotStrategy.java:944)
> >>        at
> >>
> >>
> org.apache.cloudstack.storage.helper.StorageStrategyFactoryImpl$3.canHandle(StorageStrategyFactoryImpl.java:72)
> >>        at
> >>
> >>
> org.apache.cloudstack.storage.helper.StorageStrategyFactoryImpl$3.canHandle(StorageStrategyFactoryImpl.java:69)
> >>        at
> >>
> >>
> org.apache.cloudstack.storage.helper.StorageStrategyFactoryImpl.bestMatch(StorageStrategyFactoryImpl.java:95)
> >>        at
> >>
> >>
> org.apache.cloudstack.storage.helper.StorageStrategyFactoryImpl.getSnapshotStrategy(StorageStrategyFactoryImpl.java:69)
> >>        at
> >>
> >>
> org.apache.cloudstack.storage.snapshot.SnapshotObject.isRevertable(SnapshotObject.java:153)
> >>        at
> >>
> >>
> com.cloud.api.ApiResponseHelper.createSnapshotResponse(ApiResponseHelper.java:569)
> >>        at
> >>
> >>
> org.apache.cloudstack.api.command.user.snapshot.ListSnapshotsCmd.execute(ListSnapshotsCmd.java:117)
> >>        at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:156)
> >>        at com.cloud.api.ApiServer.queueCommand(ApiServer.java:764)
> >>        at com.cloud.api.ApiServer.handleRequest(ApiServer.java:588)
> >>        at
> >> com.cloud.api.ApiServlet.processRequestInContext(ApiServlet.java:321)
> >>        at com.cloud.api.ApiServlet$1.run(ApiServlet.java:134)
> >>        at
> >>
> >>
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
> >>        at
> >>
> >>
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
> >>        at
> >>
> >>
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
> >>        at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:131)
> >>        at com.cloud.api.ApiServlet.doGet(ApiServlet.java:93)
> >>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
> >>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
> >>        at
> >>
> >>
> org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1386)
> >>        at
> >> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
> >>        at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> >>        at
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
> >>        at
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:767)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
> >>        at
> >>
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
> >>        at org.eclipse.jetty.server.Server.handle(Server.java:500)
> >>        at
> >>
> org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
> >>        at
> >> org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
> >>        at
> >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
> >>        at
> >>
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
> >>        at
> >> org.eclipse.jetty.io
> >> .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
> >>        at org.eclipse.jetty.io
> >> .FillInterest.fillable(FillInterest.java:103)
> >>        at
> >>
> >>
> org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543)
> >>        at
> >>
> org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398)
> >>        at
> >>
> org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)
> >>        at org.eclipse.jetty.io
> >> .FillInterest.fillable(FillInterest.java:103)
> >>        at
> >> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
> >>        at
> >>
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
> >>        at java.base/java.lang.Thread.run(Thread.java:834)
> >>
> >
> >
> > --
> >
> > Andrija Panić
>

Reply via email to