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.notifications.util.NotificationsUtil$NotificationProcessCallable@59dc7b39, values={defaultLocale=en_US, companyId=20155, groupId=0, principalName=20451, permissionChecker=com.liferay.portal.kernel.util.TransientValue@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

            Assignee:
            support-lep@liferay.com SE Support
            Reporter:
            yvonne.han Yvonne Han
            Participants of an Issue:
            Recent user:
            Rubén Heras
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Days since last comment:
              2 years, 10 weeks, 5 days ago

                Packages

                Version Package