Knowledge Partner
Knowledge Partner
315 views

Priority-queue an event from other driver - possible?

So we can queue events from one driver to another driver's cache as described
in

https://www.netiq.com/communities/cool-solutions/cool_tools/sending-xds-message-one-driver-another/

or by calling "dxcmd -queueevent" via
com/novell/nds/dirxml/driver/cmd/DriverCmd.commandLine()

Is is possible to send an event to the out-of-band/priority cache of another
driver as well? If so: how?

Note: I want to priority sync individual events, NOT all event for a given
attribute. I know I could configure the filter accordingly if that was the case.

--
http://www.is4it.de/en/solution/identity-access-management/

(If you find this post helpful, please click on the star below.)
______________________________________________
https://www.is4it.de/identity-access-management
Labels (1)
0 Likes
6 Replies
Knowledge Partner
Knowledge Partner

Re: Priority-queue an event from other driver - possible?

Lothar Haeger <lothar.haeger@is4it.de> wrote:
> So we can queue events from one driver to another driver's cache as described
> in
>
> https://www.netiq.com/communities/cool-solutions/cool_tools/sending-xds-message-one-driver-another/
>
> or by calling "dxcmd -queueevent" via
> com/novell/nds/dirxml/driver/cmd/DriverCmd.commandLine()
>
> Is is possible to send an event to the out-of-band/priority cache of another
> driver as well? If so: how?
>
> Note: I want to priority sync individual events, NOT all event for a given
> attribute. I know I could configure the filter accordingly if that was the case.
>


I’ve not found this option. I’d expect that this is not possible to do this
dynamically.
Alex McHugh - Knowledge Partner - Stavanger, Norway
Who are the Knowledge Partners
If you appreciate my comments, please click the Like button.
If I have resolved your issue, please click the Accept as Solution button.
0 Likes
cpedersen Outstanding Contributor.
Outstanding Contributor.

Re: Priority-queue an event from other driver - possible?

On 09.07.18 16:26, Lothar Haeger wrote:
> So we can queue events from one driver to another driver's cache as described
> in
>
> https://www.netiq.com/communities/cool-solutions/cool_tools/sending-xds-message-one-driver-another/
>
> or by calling "dxcmd -queueevent" via
> com/novell/nds/dirxml/driver/cmd/DriverCmd.commandLine()
>
> Is is possible to send an event to the out-of-band/priority cache of another
> driver as well? If so: how?
>
> Note: I want to priority sync individual events, NOT all event for a given
> attribute. I know I could configure the filter accordingly if that was the case.
>

Have you looked at sendQueueEvent from Peter Lambrechtsen
(https://www.netiq.com/communities/cool-solutions/cool_tools/sending-xds-message-one-driver-another/).

This will actually queue the event, and as the high priority queue is
controlled by the filter, then it should go into the right queue if you
have configured the filter correct.


Casper
0 Likes
Knowledge Partner
Knowledge Partner

Re: Priority-queue an event from other driver - possible?

Casper Pedersen wrote:

> Have you looked at sendQueueEvent from Peter Lambrechtsen
>

(https://www.netiq.com/communities/cool-solutions/cool_tools/sending-xds-message-one-driver-another/).
>
> This will actually queue the event, and as the high priority queue is
> controlled by the filter, then it should go into the right queue if you have
> configured the filter correct.


Yes, that's what I expect to happen when using the filter to configure
priority/out-of-band Sync.

But I want to priority-sync individual events, not all events for a given
attributes (as it would happen if I set that attribute to priority sync in
filter). AFAIK, with sendQueueEvent the attributes/classes in the event do not
even have to be in the filter at all, since the subscriber-sync filter is used
to fill the cache and not applied to already cached events before they get
submitted to the subscriber channel, right?

--
http://www.is4it.de/en/solution/identity-access-management/

(If you find this post helpful, please click on the star below.)
______________________________________________
https://www.is4it.de/identity-access-management
0 Likes
Knowledge Partner
Knowledge Partner

Re: Priority-queue an event from other driver - possible?

Lothar Haeger <lothar.haeger@is4it.de> wrote:
> Casper Pedersen wrote:
>
>> Have you looked at sendQueueEvent from Peter Lambrechtsen
>>

> (https://www.netiq.com/communities/cool-solutions/cool_tools/sending-xds-message-one-driver-another/).
>>
>> This will actually queue the event, and as the high priority queue is
>> controlled by the filter, then it should go into the right queue if you have
>> configured the filter correct.

>
> Yes, that's what I expect to happen when using the filter to configure
> priority/out-of-band Sync.
>
> But I want to priority-sync individual events, not all events for a given
> attributes (as it would happen if I set that attribute to priority sync in
> filter).


You want to priority sync individual attributes of individual events if I
understand you right.

> AFAIK,
> with sendQueueEvent the attributes/classes in the event do not
> even have to be in the filter at all, since the subscriber-sync filter is used
> to fill the cache and not applied to already cached events before they get
> submitted to the subscriber channel, right?
>


This I can’t recall if I have actually tested. Easy to test with dxcmd or
console2.

I don’t think it is as you say. Otherwise there would be even less point in
the subtle difference between queue to cache and submit directly to event
transform options.
Alex McHugh - Knowledge Partner - Stavanger, Norway
Who are the Knowledge Partners
If you appreciate my comments, please click the Like button.
If I have resolved your issue, please click the Accept as Solution button.
0 Likes
rmkreddy Absent Member.
Absent Member.

Re: Priority-queue an event from other driver - possible?

No. It is not possbile to send a complete event directly to the out-of-band cache using -queueevent. If your submitted event has attributes which are enabled for out-of-band sync in the filter, then an event with only those attributes will be written to out-of-band cache.

0 Likes
Knowledge Partner
Knowledge Partner

Re: Priority-queue an event from other driver - possible?

rmkreddy wrote:

> No. It is not possbile to send a complete event directly to the
> out-of-band cache using -queueevent. If your submitted event has
> attributes which are enabled for out-of-band sync in the filter, then an
> event with only those attributes will be written to out-of-band cache.


Now that would make for a nice enhancement request, though the use case might
be a little uncommon.

What I would like to use this for, is a loopback driver that sends changes via
publisher channel back to edir. Publisher loopback is enabled, so changes
written by the driver generate new events on the subscriber if they match the
filter. This allows me to cascade events and process one step of the business
logic individually (and usually in a less complex way). When an new event for
the same object is created way to complete the next step of the business logic,
it will go into cache and get processed when it's due. This works all fine in
everyday operations where event come in one by one or in small batches only.

But what happens when I have to mass-migrate or initial-load may thousands of
objects? All fine for the first couple of objects, but when processing e.g.
event #10000 with another 10000 events queued up in the cache, the event
triggereing the next step of logic for a given object will become event #10001
- and it can take hours until it will be processed. In the mean time the object
in question is stuck in an incomplete, maby even inconsistent state between
processing steps. If I could drop into priority cache directly, this would help
a lot. I do not want all events for the attributes in question to go into
priority cache, though, because then the problem would remain, just happening
in the other cache.

I thought of using "dxcmd -sendevent" but afaik this is a synchronous call,
waiting for the event to be processed by the subscriber. Since I'd have to call
it from the publisher, which has been called from the subscriber (which is
waiting for the resulting publisher status event), I would expect this to
simply lock the driver (and probably require an edir restart to solve). Or is
there a way to drop an event at the beginning of the cache asynchronously, much
like -queueevent just bypassing the queue?


--
http://www.is4it.de/en/solution/identity-access-management/

(If you find this post helpful, please click on the star below.)
______________________________________________
https://www.is4it.de/identity-access-management
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.