Hello, Maxim!

>> Do we have an IEP for this feature?
No, we don't have.

>> How we guarantee that all cache operations delivered (or not yet) to
backups are not rejected by applied read-only request?
I reused cluster activation mechanism. So enabling read-only mode generates
an exchange on cluster. Cluster exchange guarantees update consistency
between primary and backups.

>> We should cancel the DataStreamer task or allow it to be finished.
We throw CacheException on each update to read-only cluster. User code must
handle CacheException correctly .You could find test on it in
ClusterReadOnlyModeTest#testDataStreamerReadOnly()

пн, 3 июн. 2019 г. в 20:15, Maxim Muzafarov <maxmu...@gmail.com>:

> Sergey,
>
> Do we have an IEP for this feature?
>
> What should happen when on an active cluster with put operations if we
> receive a read-only state change request? How we guarantee that all
> cache operations delivered (or not yet) to backups are not rejected by
> applied read-only request? I haven't found such tests in your PR.
>
> I've downloaded your branch and run some tests locally. I've tried
> DataStreamer cache loads (allowOverwrite mode false) with a concurrent
> cluster change state request to read-only mode and I've got strange
> behaviour. My test scenario was:
> 1) Start DataStremer cache load;
> 2) change cluster to read-only state;
> 3) change state back to normal;
>
> When the state has been changed to `read-only` I've flooded with a lot
> of `Failed to perform cache operation (cluster is in read-only mode)`
> errors, but when I've reverted the state back the DataStreamer
> continue its load without any error. I think we should not allow such
> behaviour. We should cancel the DataStreamer task or allow it to be
> finished.
>
> On Fri, 31 May 2019 at 13:00, Sergey Antonov <antonovserge...@gmail.com>
> wrote:
> >
> > Hello, Zhenya, Maxim!
> >
> > Thank you for your replies!
> >
> > >> Should we also allow writes to the DistributedMetaStorage and if not
> why?
> > Yes. DistributedMetastorage available for updates with enabled read-only
> > mode. I added test about it to ClusterReadOnlyModeSelfTest
> >
> > >> What's the purpose for ignite-sys-cache updates still be available ?
> > ignite-sys-cache is using in the different subcomponents, for example,
> > security.
> >
> > чт, 30 мая 2019 г. в 20:30, Zhenya Stanilovsky
> <arzamas...@mail.ru.invalid>:
> >
> > > hi, Sergey.
> > > What's the purpose for ignite-sys-cache updates still be available ?
> > >
> > > thanks !
> > >
> > > > Hello Igniters!
> > > >
> > > > I'm working on cluster read-only mode [1] feature. In this mode
> cluster
> > > > will be available only for read operations, all data modification
> > > > operations in user caches will be rejected
> > > > with ClusterReadOnlyModeCheckedException. This feature could be
> helpfull
> > > > for maintenance works (control.sh idle_verify/validate_indexes).
> > > >
> > > > A few points about cluster read-only mode:
> > > > 1) Read-only mode could be enabled on active cluster only.
> > > > 2) Read-only mode doens't store on PDS (i.e. after cluster restart
> > > > enabled
> > > > read-only mode will be forgotten)
> > > > 3) Updates to ignite-sys-cache will be available with enabled
> read-only
> > > > mode.
> > > >
> > > > More informartion about implementation you could find in PR [2].
> > > >
> > > > What do you think about this feature?
> > > >
> > > > [1] https://issues.apache.org/jira/browse/IGNITE-11256
> > > > [2] https://github.com/apache/ignite/pull/6423
> > >
> >
> >
> > --
> > BR, Sergey Antonov
>


-- 
BR, Sergey Antonov

Reply via email to