Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-84411

Unable to receive notifications when it is not the first time to add bookmarks

Details

    Description

      Steps to reproduce.

      1. Deploy notification-portlet.
      2. Create a user, and give him Administrator role.
      3. Go to default page, add a bookmarks portlet.
      4. Add a folder, then subscribe it.
      5. Login as the newly user, go to the folder, then add a bookmark.
      6. Login as Test Test, then Test Test receives the notification about adding the first bookmark.
      7. Login as the newly user, go to the folder, then add the second bookmark.
      8. Login as Test Test.

      Expected Result:
      Test Test should be received the notification for the second bookmark.

      Actual result:
      Test Test can not receive the notification if it is not the first time to add bookmark, only can receive the first bookmark's notification.
      NoSuchEntryException is thrown on the console:

      01:07:34,561 ERROR [liferay/async_service-2][ParallelDestination:74] Unable to process message {destinationName=liferay/async_service, response=null, responseDestinationName=null, responseId=null, payload=com.liferay.n[email protected]59dc7b39, values={defaultLocale=en_US, companyId=20155, groupId=0, principalName=20451, [email protected]699588ad, siteDefaultLocale=en_US, themeDisplayLocale=en_US}}
      com.liferay.portal.kernel.messaging.MessageListenerException: com.liferay.portal.kernel.process.ProcessException: com.liferay.portlet.bookmarks.NoSuchEntryException: No BookmarksEntry exists with the primary key 20513
              at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:32)
              at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:72)
              at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:71)
              at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
              at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
              at java.lang.Thread.run(Thread.java:745)
      Caused by: com.liferay.portal.kernel.process.ProcessException: com.liferay.portlet.bookmarks.NoSuchEntryException: No BookmarksEntry exists with the primary key 20513
              at com.liferay.notifications.util.NotificationsUtil$NotificationProcessCallable.call(NotificationsUtil.java:239)
              at com.liferay.portal.messaging.async.AsyncMessageListener.doReceive(AsyncMessageListener.java:32)
              at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:26)
              ... 5 more
      Caused by: com.liferay.portlet.bookmarks.NoSuchEntryException: No BookmarksEntry exists with the primary key 20513
              at com.liferay.portlet.bookmarks.service.persistence.BookmarksEntryPersistenceImpl.findByPrimaryKey(BookmarksEntryPersistenceImpl.java:12858)
              at com.liferay.portlet.bookmarks.service.persistence.BookmarksEntryPersistenceImpl.findByPrimaryKey(BookmarksEntryPersistenceImpl.java:12876)
              at com.liferay.portlet.bookmarks.service.impl.BookmarksEntryLocalServiceImpl.getEntry(BookmarksEntryLocalServiceImpl.java:282)
              at sun.reflect.GeneratedMethodAccessor1115.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:497)
              at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
              at com.sun.proxy.$Proxy434.getEntry(Unknown Source)
              at com.liferay.portlet.bookmarks.service.BookmarksEntryLocalServiceWrapper.getEntry(BookmarksEntryLocalServiceWrapper.java:449)
              at sun.reflect.GeneratedMethodAccessor1115.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:497)
              at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
              at com.sun.proxy.$Proxy435.getEntry(Unknown Source)
              at sun.reflect.GeneratedMethodAccessor1115.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:497)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
              at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:65)
              at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
              at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
              at com.sun.proxy.$Proxy195.getEntry(Unknown Source)
              at com.liferay.portlet.bookmarks.service.BookmarksEntryLocalServiceUtil.getEntry(BookmarksEntryLocalServiceUtil.java:416)
              at com.liferay.portlet.bookmarks.service.permission.BookmarksEntryPermission.contains(BookmarksEntryPermission.java:119)
              at com.liferay.portal.security.permission.PermissionCheckerUtil.containsResourcePermission(PermissionCheckerUtil.java:72)
              at com.liferay.portal.service.permission.SubscriptionPermissionImpl.hasPermission(SubscriptionPermissionImpl.java:159)
              at com.liferay.portal.service.permission.SubscriptionPermissionImpl.contains(SubscriptionPermissionImpl.java:95)
              at com.liferay.portal.service.permission.SubscriptionPermissionUtil.contains(SubscriptionPermissionUtil.java:83)
              at com.liferay.notifications.util.NotificationsUtil$NotificationProcessCallable._isNotificable(NotificationsUtil.java:355)
              at com.liferay.notifications.util.NotificationsUtil$NotificationProcessCallable.sendUserNotifications(NotificationsUtil.java:270)
              at com.liferay.notifications.util.NotificationsUtil$NotificationProcessCallable.call(NotificationsUtil.java:234)
              ... 7 more
      

      Attachments

        Activity

          People

            support-lep@liferay.com SE Support
            yvonne.han Yvonne Han
            Kiyoshi Lee Kiyoshi Lee
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              4 years, 17 weeks ago

              Packages

                Version Package