ACSD-65913: OpenSearch은(는) 가격이 같은 제품의 범주에 대해 illegal_argument_exception을(를) throw합니다.

ACSD-65913 패치를 사용하면 OpenSearch에서 가격이 같은 제품에 대해 illegal_argument_exception을(를) 발생시키는 문제가 해결됩니다. 이 패치는 Quality Patches Tool (QPT) 1.1.66이 설치된 경우에 사용할 수 있습니다. 패치 ID는 ACSD-65913입니다. 이 문제는 Adobe Commerce 2.4.9에서 수정됩니다.

영향을 받는 제품 및 버전

Adobe Commerce 버전에 대한 패치가 만들어졌습니다.

  • Adobe Commerce(모든 배포 방법) 2.4.7-p5

Adobe Commerce 버전과 호환:

  • Adobe Commerce(모든 배포 방법) 2.4.7 - 2.4.8
NOTE
새 Quality Patches Tool 릴리스가 있는 다른 버전에 패치를 적용할 수 있습니다. 패치가 Adobe Commerce 버전과 호환되는지 확인하려면 magento/quality-patches 패키지를 최신 버전으로 업데이트하고 Quality Patches Tool에서 호환성을 확인합니다. 패치 검색 페이지. 패치 ID를 검색 키워드로 사용하여 패치를 찾습니다.

문제

OpenSearch은(는) 모든 제품이 동일한 가격을 공유하는 범주를 로드할 때 illegal_argument_exception([from] 매개 변수는 음수일 수 없음)을(를) throw합니다.

재현 단계:

  1. OpenSearch 버전 2.19.1을 설치하고 기본 검색 엔진으로 설정합니다.

  2. 계층화된 탐색에 표시되도록 Price 제품 특성을 구성합니다.

    1. Visible in Advanced Search:
    2. Comparable on Storefront:
    3. Use in Layered Navigation: 필터링 가능(결과 포함)
  3. Stores > Configuration > Catalog > Catalog > Layered Navigation(으)로 이동합니다. Price Navigation Step Calculation​을(를) 자동(제품 개수 균등화)(으)로 설정합니다.

  4. 가격이 모두 동일한 6개의 제품으로 카테고리를 만듭니다.

    1. SKU: product_super_0-1-1-1, 가격: $150
    2. SKU: product_super_0-1-1, 가격: $48
    3. SKU: product_super_0-1, 가격: $48
    4. SKU: product_super_0, 가격: $48
    5. SKU: product_super_0-1-1-1-1-1-1-1-1-1-1-1-1-1, 가격: $48
    6. SKU: product_super_0-1-1-1-1-1-1-1-1-1-1, 가격: $48
  5. 다음 명령을 실행합니다.
    bin/magento indexer:reindex

  6. 카테고리 페이지를 엽니다. 다음 오류가 표시됩니다.
    [from] 매개 변수는 음수일 수 없습니다. [-1]​을(를) 찾았습니다.

예상 결과:

범주의 모든 제품에 같은 가격이 있을 때 OpenSearch에서 illegal_argument_exception을(를) throw하면 안 됩니다.

실제 결과:

  • OpenSearch이(가) 메시지와 함께 illegal_argument_exception을(를) 발생시킵니다.
    [from] 매개 변수는 음수일 수 없습니다. [-1]​을(를) 찾았습니다.

  • var/log/exception.log 파일에는 다음이 포함되어 있습니다.

    code language-text
    [2025-05-14T22:39:33.595272+00:00] report.CRITICAL: OpenSearch\Common\Exceptions\BadRequest400Exception: {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"[from] parameter cannot be negative, found [-1]"}],"type":"illegal_argument_exception","reason":"[from] parameter cannot be negative, found [-1]"},"status":400}
    

패치 적용

개별 패치를 적용하려면 배포 방법에 따라 다음 링크를 사용합니다.

관련 읽기

Quality Patches Tool에 대한 자세한 내용은 다음을 참조하세요.

recommendation-more-help
commerce-operations-help-tools