Bug / Issue Tracking Service
Bugzilla – Bug 11949
Eventing: runtime detection of filter errors
Last modified: 2011-02-16 05:45:02 UTC
See: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11703 In particular: Additionally, there's another issue here. The above fault can only be generated during subscribe time. However, not all event sources will evaluate the expression at that time - some may only do so afterwards (while processing new events). Its not clear to me what should happen in this case. I'm leaning towards us changing the spec so that when this happens the Subscription terminates (unexpectedly - e.g. generate an endSubscription msg) so that the sink knows why its not receiving any notifications. But I'd like to discuss this in the group. Proposal: Modify this paragraph: ----- It is possible for a Subscribe request to contain a filter that will never evaluate to true for the lifetime of the subscription. If an event source detects this condition it MUST generate a wse:EmptyFilter fault in response to the Subscribe request message. ----- to be: ---- It is possible for a Subscribe request to contain a filter that will never evaluate to true for the lifetime of the subscription. If an event source detects this condition **during the processing of the Subscribe request** it MUST generate a wse:EmptyFilter fault in response to the Subscribe request message. ** If, after the Subscribe response message has been sent, the event source determines that the filter will never evaluate to true for the lifetime of the subscription, or if there is an error within the filter expression, the subscription MUST be terminated. In this case if an EndTo was provided, then a SubscriptionEnd message MUST be sent with a Status value of "http://www.w3.org/2002/ws/ra/edcopies/ws-evt/SourceCancelling/SourceCancelling". ** ---- And do the same thing for enumeration
New proposal: It is possible for a Subscribe request to contain a filter that will never evaluate to true for the lifetime of the subscription. If an event source detects this condition **during the processing of the Subscribe request** it MUST generate a wse:EmptyFilter fault in response to the Subscribe request message. ** If, after the SubscribeResponse message has been sent, the event source determines that the filter will never evaluate to true for the lifetime of the subscription, or if there is an error within the filter expression, the subscription MUST be terminated. In this case if an EndTo was provided, then a SubscriptionEnd message MUST be sent with a Status value of "http://www.w3.org/2002/ws/ra/edcopies/ws-evt/SourceCancelling/SourceCancelling". **
resolved with proposal in comment 1