On Wed, Jun 8, 2011 at 12:41 PM, Prabath Siriwardena <prab...@wso2.com>wrote:
> DSS team, please verify this locally after reverting... > > +1. The real problem is like this, if user1 creates a subscription then can user2 renew this subscription or unsubscribe? Currently it can be done and DSS works because of that. So in order to properly fix this issue we need think what is the user in the context of DSS, who is the system user (is he an admin), what is the definition of admin role etc .. which we don't have clear answers. thanks, Amila. > Thanks & regards, > -Prabath > > On Wed, Jun 8, 2011 at 12:36 PM, Shammi Jayasinghe <sha...@wso2.com> > wrote: > > > > > > > > > > On Wed, Jun 8, 2011 at 12:16 PM, Shammi Jayasinghe <sha...@wso2.com> > wrote: > >> > >> Hi Dinusha, > >> > >> We are validating the user when unsubscribing and renewing a > >> subscription. In that case we only allow to do those operations > >> only for the users bellow; > >> > > Hi , > > > > Introduction of the following condition has caused this break and with > DS, > > this check will not be working fine since they can alter the owner of > the > > subscription by setting a property. So i am removing this condition. and > > reverting the commit. > > > >> > >> 1. User who created the subscriptions (Owner of the subscription) > >> 2. User who is in admin role > >> > > > > Thanks > > > > Shammi > >> > >> So any other person will not be able to Unsubscribe or Renew existing > >> subscriptions. > >> > >> Here in your case : "wso2.system.user " is not neither the owner of the > >> subscription nor in admin role. > >> > >> That has prevented this unsubscription . > >> > >> You can overcome this situation by adding admin role to this user. > >> > >> Thanks > >> Shammi > >> > >> On Wed, Jun 8, 2011 at 11:58 AM, Dinusha Senanayaka <dinu...@wso2.com> > >> wrote: > >>> > >>> Hi, > >>> > >>> In DSS RC-7 pack event feature has broken. This works fine earlier. > >>> In DSS we use following method to clear the subscriptions when data > >>> service get deployed. > >>> > >>> private void clearDataServicesEventSubscriptions( > >>> EventBroker eventBroker) throws DataServiceFault { > >>> try { > >>> String owner; > >>> for (Subscription subs : > >>> eventBroker.getAllSubscriptions(null)) { > >>> owner = subs.getOwner(); > >>> if (owner != null && owner.equals(this.getName())) { > >>> eventBroker.unsubscribe(subs.getId()); > >>> } > >>> } > >>> } catch (EventBrokerException e) { > >>> throw new DataServiceFault(e); > >>> } > >>> } > >>> > >>> > >>> Now we are getting following error when Event data service get > deployed, > >>> > >>> DS Code: UNKNOWN_ERROR > >>> Nested Exception:- > >>> org.wso2.carbon.event.core.exception.EventBrokerException: User > >>> wso2.system.user does not own subscription > >>> a412ddbc401c84592bcbb6df51baf8f158f2b0febd025f83 > >>> > >>> at > >>> > org.wso2.carbon.dataservices.core.engine.DataService.clearDataServicesEventSubscriptions(DataService.java:414) > >>> at > >>> > org.wso2.carbon.dataservices.core.engine.DataService.initEventing(DataService.java:422) > >>> at > >>> > org.wso2.carbon.dataservices.core.engine.DataService.setEventBroker(DataService.java:694) > >>> at > >>> > org.wso2.carbon.dataservices.core.internal.DataServicesDSComponent.notifyEventServiceListeners(DataServicesDSComponent.java:200) > >>> at > >>> > org.wso2.carbon.dataservices.core.internal.DataServicesDSComponent.doEventRealmInitiliased(DataServicesDSComponent.java:194) > >>> at > >>> > org.wso2.carbon.dataservices.core.internal.DataServicesDSComponent.setRealmService(DataServicesDSComponent.java:122) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:374) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:411) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:210) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:328) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > >>> at > >>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > >>> at > >>> > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) > >>> at > >>> > org.wso2.carbon.event.core.internal.builder.EventBrokerBuilderDS.activate(EventBrokerBuilderDS.java:69) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > >>> at > >>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > >>> at > >>> > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) > >>> at > >>> > org.wso2.carbon.qpid.internal.QpidServiceComponent.activate(QpidServiceComponent.java:134) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > >>> at > >>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > >>> at > >>> > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) > >>> at > >>> > org.wso2.carbon.discovery.DiscoveryComponent.activate(DiscoveryComponent.java:81) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > >>> at > >>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > >>> at > >>> > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) > >>> at > >>> > org.wso2.carbon.core.services.internal.CarbonServicesServiceComponent.activate(CarbonServicesServiceComponent.java:72) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > >>> at > >>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > >>> at > >>> > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) > >>> at > >>> > org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:192) > >>> at > >>> > org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.activate(StartupFinalizerServiceComponent.java:89) > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >>> at > >>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > >>> at > >>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > >>> at java.lang.reflect.Method.invoke(Method.java:597) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:230) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:140) > >>> at > >>> > org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:330) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:560) > >>> at > >>> > org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:182) > >>> at > >>> org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:292) > >>> at > >>> > org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:226) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:124) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:930) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:757) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:712) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:129) > >>> at > >>> > org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:506) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:524) > >>> at > >>> > org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:461) > >>> at > >>> > org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:264) > >>> at > >>> > org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:117) > >>> at > >>> > org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:916) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:220) > >>> at > >>> > org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:330) > >>> Caused by: org.wso2.carbon.event.core.exception.EventBrokerException: > >>> User wso2.system.user does not own subscription > >>> a412ddbc401c84592bcbb6df51baf8f158f2b0febd025f83 > >>> at > >>> > org.wso2.carbon.event.core.internal.subscription.registry.RegistrySubscriptionManager.unSubscribe(RegistrySubscriptionManager.java:305) > >>> at > >>> > org.wso2.carbon.event.core.internal.CarbonEventBroker.unsubscribe(CarbonEventBroker.java:135) > >>> at > >>> > org.wso2.carbon.dataservices.core.engine.DataService.clearDataServicesEventSubscriptions(DataService.java:410) > >>> ... 144 more > >>> > >>> Seems like this is happening when calling unsubscribe() method in > >>> EventBroker. > >>> Any idea on this? > >>> > >>> Regards, > >>> Dinusha. > >>> > >>> _______________________________________________ > >>> Carbon-dev mailing list > >>> Carbon-dev@wso2.org > >>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > >>> > >> > >> > >> > >> -- > >> Best Regards, > >> > >> Shammi Jayasinghe > >> Senior Software Engineer; WSO2, Inc.; http://wso2.com, > >> mobile: +94 71 4493085 > >> > >> > > > > > > > > -- > > Best Regards, > > > > Shammi Jayasinghe > > Senior Software Engineer; WSO2, Inc.; http://wso2.com, > > mobile: +94 71 4493085 > > > > > > > > _______________________________________________ > > Carbon-dev mailing list > > Carbon-dev@wso2.org > > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > > > > > > > > -- > Thanks & Regards, > Prabath > > http://blog.facilelogin.com > http://RampartFAQ.com > _______________________________________________ > Carbon-dev mailing list > Carbon-dev@wso2.org > http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev