Alfresco Repository CE 7.2 and Search Services (SOLR) on EC2 separate machines got error

cancel
Showing results for 
Search instead for 
Did you mean: 
WorawutS
Member II

Alfresco Repository CE 7.2 and Search Services (SOLR) on EC2 separate machines got error

I have deployed Alfresco Content Services Community Edition 7.2 using Docker Compose on AWS EC2 instance and I have deployed Alfresco Repository and Search Services (SOLR) on separate machines with secret COMM mode, after solr6 started it showing error as below.

2022-06-14 04:16:20.019 WARN  (org.alfresco.solr.AlfrescoCoreAdminHandler@7cc9ce8_Worker-22) [   ] o.a.s.t.CommitTracker Rollback performed due to ACL Tracker error
org.alfresco.error.AlfrescoRuntimeException: 05141281 api/solr/aclchangesets return status:403
        at org.alfresco.solr.client.SOLRAPIClient.callRepository(SOLRAPIClient.java:1598)
        at org.alfresco.solr.client.SOLRAPIClient.getAclChangeSets(SOLRAPIClient.java:187)
        at org.alfresco.solr.tracker.AclTracker.getSomeAclChangeSets(AclTracker.java:531)
        at org.alfresco.solr.tracker.AclTracker.trackAclChangeSets(AclTracker.java:729)
        at org.alfresco.solr.tracker.AclTracker.trackRepository(AclTracker.java:401)
        at org.alfresco.solr.tracker.AclTracker.doTrack(AclTracker.java:160)
        at org.alfresco.solr.tracker.AbstractTracker.track(AbstractTracker.java:231)
        at org.alfresco.solr.tracker.ActivatableTracker.track(ActivatableTracker.java:97)
        at org.alfresco.solr.tracker.TrackerJob.execute(TrackerJob.java:60)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
2022-06-14 04:16:30.005 ERROR (org.alfresco.solr.AlfrescoCoreAdminHandler@7cc9ce8_Worker-40) [   ] o.a.s.t.AbstractTracker [archive / ACL@199537384 / IT #1655180190000] Tracking failure. See the stacktrace below for further details.
org.alfresco.error.AlfrescoRuntimeException: 05141282 api/solr/aclchangesets return status:403
        at org.alfresco.solr.client.SOLRAPIClient.callRepository(SOLRAPIClient.java:1598)
        at org.alfresco.solr.client.SOLRAPIClient.getAclChangeSets(SOLRAPIClient.java:187)
        at org.alfresco.solr.tracker.AclTracker.checkRepoAndIndexConsistency(AclTracker.java:416)
        at org.alfresco.solr.tracker.AclTracker.trackRepository(AclTracker.java:397)
        at org.alfresco.solr.tracker.AclTracker.doTrack(AclTracker.java:160)
        at org.alfresco.solr.tracker.AbstractTracker.track(AbstractTracker.java:231)
        at org.alfresco.solr.tracker.ActivatableTracker.track(ActivatableTracker.java:97)
        at org.alfresco.solr.tracker.TrackerJob.execute(TrackerJob.java:60)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)

Docker-compose file to deploy

On Alfresco EC2 machine

version: "2"

services:
  alfresco:
    image: alfresco/alfresco-content-repository-community:7.2.0
    mem_limit: 7g
    environment:
      JAVA_TOOL_OPTIONS: "
        -Dencryption.keystore.type=JCEKS
        -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
        -Dencryption.keyAlgorithm=DESede
        -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
        -Dmetadata-keystore.password=mp6yc0UD9e
        -Dmetadata-keystore.aliases=metadata
        -Dmetadata-keystore.metadata.password=oKIWzVdEdA
        -Dmetadata-keystore.metadata.algorithm=DESede
        "
      JAVA_OPTS: "
        -Ddb.driver=org.postgresql.Driver
        -Ddb.username=alfresco
        -Ddb.password=password
        -Ddb.url=jdbc:postgresql://alfresco-host:5432/alfresco
        -Dsolr.host=10.60.3.170
        -Dsolr.port=8983
        -Dsolr.http.connection.timeout=1000
        -Dsolr.secureComms=secret
        -Dsolr.sharedSecret=secret
        -Dsolr.base.url=/solr
        -Dindex.subsystem.name=solr6
        -Dshare.host=10.60.3.121
        -Dshare.port=8080
        -Dalfresco.host=10.60.3.121
        -Dalfresco.port=8080
        -Daos.baseUrlOverwrite=http://10.60.3.121:8080/alfresco/aos
        -Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\"
        -Ddeployment.method=DOCKER_COMPOSE
        -DlocalTransform.core-aio.url=http://transform-core-aio:8090/
        -Dcsrf.filter.enabled=false
        -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
        "
    volumes:
      - /s3_mountpath/alfresco_datafile/alf-repo-data:/usr/local/tomcat/alf_data

  transform-core-aio:
    image: alfresco/alfresco-transform-core-aio:2.5.7
    mem_limit: 2g
    environment:
      JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
    ports:
      - "8090:8090"

  share:
    image: alfresco/alfresco-share:7.2.0
    mem_limit: 4g
    environment:
      REPO_HOST: "10.60.3.121"
      REPO_PORT: "8080"
      JAVA_OPTS: "
        -XX:MinRAMPercentage=50
        -XX:MaxRAMPercentage=80
        -Dalfresco.host=10.60.3.121
        -Dalfresco.port=8080
        -Dalfresco.context=alfresco
        -Dalfresco.protocol=http
        "

  activemq:
    image: alfresco/alfresco-activemq:5.16.4-jre11-centos7
    mem_limit: 1g
    ports:
      - "8161:8161" # Web Console
      - "5672:5672" # AMQP
      - "61616:61616" # OpenWireื
      - "61613:61613" # STOMP
    volumes: 
      - ./alf_datafile/data/activemq-data:/opt/activemq/data

  proxy:
    image: alfresco/alfresco-acs-nginx:3.2.0
    mem_limit: 128m
    environment:
      DISABLE_PROMETHEUS: "true"
      DISABLE_SYNCSERVICE: "true"
      DISABLE_ADW: "true"
    depends_on:
      - alfresco
    ports:
      - "8080:8080"
    links:
      - alfresco
      - share
    volumes:
      - ./config/nginx.conf:/etc/nginx/nginx.conf


On Alfresco SOLR EC2 machine

version: "2"

services:
 solr6:
    image: alfresco/alfresco-search-services:2.0.3
    mem_limit: 6g
    environment:
      # Solr needs to know how to register itself with Alfresco
      SOLR_ALFRESCO_HOST: "10.60.3.121"
      SOLR_ALFRESCO_PORT: "8080"
      # Alfresco needs to know how to call solr
      SOLR_SOLR_HOST: "10.60.3.170"
      SOLR_SOLR_PORT: "8983"
      # Create the default alfresco and archive cores
      SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive"
      # HTTPS or SECRET
      ALFRESCO_SECURE_COMMS: "secret"
      # SHARED SECRET VALUE
      JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
    ports:
      - "8983:8983" # Browser port
    volumes: 
      - ./alf_datafile/data/solr-data:/opt/alfresco-search-services/data

Do I need to config Nginx to forward port to the ip of solr6 host?

nginx.conf

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    server {

        listen *:8080 ;

        

        client_max_body_size 0;

        set  $allowOriginSite *;
        proxy_pass_request_headers on;
        proxy_pass_header Set-Cookie;

        # Increment timeout values
        proxy_connect_timeout 600;
        proxy_send_timeout    600;
        proxy_read_timeout    600;
        send_timeout          600;

        # External settings, do not remove
        #ENV_ACCESS_LOG

        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Host            $host:$server_port;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass_header Set-Cookie;

        location ~ ^(/.*/service/api/solr/.*)$ {return 403;}
        location ~ ^(/.*/s/api/solr/.*)$ {return 403;}
        location ~ ^(/.*/wcservice/api/solr/.*)$ {return 403;}
        location ~ ^(/.*/wcs/api/solr/.*)$ {return 403;}
        location ~ ^(/.*/proxy/alfresco/api/solr/.*)$ {return 403 ;}
        location ~ ^(/.*/-default-/proxy/alfresco/api/.*)$ {return 403;}

        # Alfresco Content Application Proxy
        location / {
          proxy_pass http://content-app:8080;
        }

        # Repository Proxy
        location /alfresco/ {
          proxy_pass http://alfresco:8080;
        }

        # Api-Explorer Proxy
        location /api-explorer/ {
          proxy_pass http://alfresco:8080;
        }

        # Share Proxy
        location /share/ {
          proxy_pass http://share:8080;
        }

        # SOLR Proxy
        location /solr/ {
          proxy_pass http://solr6:8983;
          auth_basic "Solr web console";
          auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
        }

    }
}


Thanks for your kind help.

1 Reply
angelborroy
Alfresco Employee

Re: Alfresco Repository CE 7.2 and Search Services (SOLR) on EC2 separate machines got error

Try using this configuration for SOLR Container

        environment:
            SOLR_OPTS: "
                -Dalfresco.secureComms.secret=secret
            "

Instead of using JAVA_TOOL_OPTIONS

Hyland Developer Evangelist