Uploaded image for project: 'E-commerce'
  1. E-commerce
  2. ECOMMERCE-191

NoSuchMethodException will be thrown when searching any product of commercetools

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 1.0
    • None
    • None
    • None

    Description

      Assumption

      • If we remove ".withLimit(500L))" during fetch all products, search feature will not be blocked and have no results found.
      • It seems like there was an issue with commercetools API (Maybe something was changed :sad)

      Steps to reproduce:

      • Input credentials for commercetools in yaml definition file
      • Open e-commerce app and view all categories
      • Select any categories and click 'View Product'
      • Copy any product name
      • Typing copied name onto Findbar
      • No respond for the search result since then search feature will be blocked and could not search anymore

      LOG:

      2019-04-08 09:05:39,247 ERROR gnolia.admincentral.findbar.search.ResultCollector: An error occurred during the search process, therefore an empty collection will be returned.

      java.util.concurrent.CompletionException: java.lang.NoSuchMethodError: info.magnolia.periscope.search.SearchResult$SearchResultBuilder.operationRequest(Ljava/lang/Object;)Linfo/magnolia/periscope/search/SearchResult$SearchResultBuilder;

      at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_144]

      at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_144]

      at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1592) ~[?:1.8.0_144]

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_144]

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_144]

      at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_144]

      Caused by: java.lang.NoSuchMethodError: info.magnolia.periscope.search.SearchResult$SearchResultBuilder.operationRequest(Ljava/lang/Object;)Linfo/magnolia/periscope/search/SearchResult$SearchResultBuilder;

      at info.magnolia.ecommerce.app.search.categories.CategorySearchResultSupplier.lambda$null$1(CategorySearchResultSupplier.java:61) ~[magnolia-ecommerce-ui-1.0-SNAPSHOT.jar!/:?]

      at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_144]

      at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:1.8.0_144]

      at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_144]

      at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_144]

      at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_144]

      at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1569) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_144]

      at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_144]

      at info.magnolia.periscope.Periscope.fetchSupplierAwareSearchResults(Periscope.java:132) ~[magnolia-periscope-core-1.1-SNAPSHOT.jar:?]

      at info.magnolia.periscope.Periscope.lambda$search$0(Periscope.java:114) ~[magnolia-periscope-core-1.1-SNAPSHOT.jar:?]

      at info.magnolia.periscope.search.SearchRunner.lambda$execute$0(SearchRunner.java:85) ~[magnolia-periscope-core-1.1-SNAPSHOT.jar:?]

      at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) ~[?:1.8.0_144]

      ... 3 more

      2019-04-08 09:05:44,398 ERROR gnolia.admincentral.findbar.search.ResultCollector: An error occurred during the search process, therefore an empty collection will be returned.

      java.util.concurrent.CompletionException: java.lang.NoSuchMethodError: info.magnolia.periscope.search.SearchResult$SearchResultBuilder.operationRequest(Ljava/lang/Object;)Linfo/magnolia/periscope/search/SearchResult$SearchResultBuilder;

      at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273) ~[?:1.8.0_144]

      at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280) ~[?:1.8.0_144]

      at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1592) ~[?:1.8.0_144]

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_144]

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_144]

      at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_144]

      Caused by: java.lang.NoSuchMethodError: info.magnolia.periscope.search.SearchResult$SearchResultBuilder.operationRequest(Ljava/lang/Object;)Linfo/magnolia/periscope/search/SearchResult$SearchResultBuilder;

      at info.magnolia.ecommerce.app.search.products.ProductSearchResultSupplier.lambda$null$1(ProductSearchResultSupplier.java:61) ~[magnolia-ecommerce-ui-1.0-SNAPSHOT.jar!/:?]

      at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_144]

      at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:1.8.0_144]

      at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_144]

      at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) ~[?:1.8.0_144]

      at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_144]

      at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1569) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_144]

      at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_144]

      at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_144]

      at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_144]

      at info.magnolia.periscope.Periscope.fetchSupplierAwareSearchResults(Periscope.java:132) ~[magnolia-periscope-core-1.1-SNAPSHOT.jar:?]

      at info.magnolia.periscope.Periscope.lambda$search$0(Periscope.java:114) ~[magnolia-periscope-core-1.1-SNAPSHOT.jar:?]

      at info.magnolia.periscope.search.SearchRunner.lambda$execute$0(SearchRunner.java:85) ~[magnolia-periscope-core-1.1-SNAPSHOT.jar:?]

      at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) ~[?:1.8.0_144]

      ... 3 more

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                ajuran Antonín Juran
                trung.luu Trung Luu
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Bug DoR
                    Task DoD

                    Time Tracking

                      Estimated:
                      Original Estimate - Not Specified
                      Not Specified
                      Remaining:
                      Remaining Estimate - 0d
                      0d
                      Logged:
                      Time Spent - 0.5h
                      0.5h