diff --git a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java
index a1210a82345698a0ac231913a467adab195ed8fe..d064710ee49359f9512942a2ba3a2564ca5a7944 100644
--- a/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java
+++ b/indexer-service-azure/src/main/java/org/opendes/indexer/azure/util/RequestInfoImpl.java
@@ -7,7 +7,7 @@ import org.opendes.client.multitenancy.TenantInfo;
 import org.opendes.core.model.DeploymentEnvironment;
 import org.opendes.core.util.AppException;
 import org.opendes.core.util.Config;
-import org.opendes.core.util.HeadersInfo;
+import org.opendes.core.util.IHeadersInfo;
 import org.opendes.indexer.util.IRequestInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -18,7 +18,7 @@ import static org.opendes.client.api.DpsHeaders.AUTHORIZATION;
 public class RequestInfoImpl implements IRequestInfo {
 
     @Autowired
-    private HeadersInfo headersInfo;
+    private IHeadersInfo headersInfo;
     @Autowired
     private ServiceAccountJwtClientImpl serviceAccountJwtClient;
 
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/api/RecordIndexerApi.java b/indexer-service-root/src/main/java/org/opendes/indexer/api/RecordIndexerApi.java
index 74e0ab7c3dd7be9544d10e54adfe727ba033af3e..7bad1217534c99f9db8a1fc1bf4158e2979791ba 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/api/RecordIndexerApi.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/api/RecordIndexerApi.java
@@ -18,6 +18,7 @@ import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
 
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.java.Log;
 import org.opendes.core.model.RecordChangedMessages;
 import org.opendes.indexer.SwaggerDoc;
 import org.opendes.indexer.util.JobStatus;
@@ -36,6 +37,7 @@ import javax.validation.constraints.NotNull;
 import java.lang.reflect.Type;
 import java.util.List;
 
+@Log
 @RestController
 @RequestMapping("/_dps/task-handlers")
 public class RecordIndexerApi {
@@ -51,11 +53,20 @@ public class RecordIndexerApi {
     @PostMapping(path = "/index-worker", consumes = "application/json")
     @ApiOperation(hidden = true, value = "", notes = "")
     public ResponseEntity<JobStatus> indexWorker (
-            @Valid @RequestBody @NotNull(message = SwaggerDoc.REQUEST_VALIDATION_NOT_NULL_BODY)
-            @RequestParam RecordChangedMessages recordChangedMessages) throws Exception {
+             @NotNull(message = SwaggerDoc.REQUEST_VALIDATION_NOT_NULL_BODY)
+             @Valid @RequestBody RecordChangedMessages recordChangedMessages) throws Exception {
+
+            if (recordChangedMessages == null) {
+                log.info("record change messages is null");
+            }
+            log.info("RCM DATA: " + recordChangedMessages.getData());
 
             Type listType = new TypeToken<List<RecordInfo>>() {}.getType();
             List<RecordInfo> recordInfos = new Gson().fromJson(recordChangedMessages.getData(), listType);
+            if (recordInfos == null) {
+                log.info("RECORD INFO IS  NULL");
+            }
+            recordInfos.forEach(r -> log.info(r.toString()));
             return new ResponseEntity(indexerService.processRecordChangedMessages(recordChangedMessages, recordInfos),HttpStatus.OK);
     }
 
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/logging/AuditLogger.java b/indexer-service-root/src/main/java/org/opendes/indexer/logging/AuditLogger.java
index 75862688d3e6a602ea134b80218e64670c7fb2be..cc10d4b06c0a6d008b4c805f83754907e5259f9e 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/logging/AuditLogger.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/logging/AuditLogger.java
@@ -16,7 +16,6 @@ package org.opendes.indexer.logging;
 
 import org.opendes.client.logging.payload.AuditPayload;
 import org.opendes.core.logging.JaxRsDpsLog;
-import org.opendes.core.util.HeadersInfo;
 import org.opendes.core.util.IHeadersInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/logging/ServiceLogId.java b/indexer-service-root/src/main/java/org/opendes/indexer/logging/ServiceLogId.java
index 0aec9c42267c165a8cdbaf49524d6337daa2fcac..e1bdfe92d4634f1675382ee0fce3c6da99bec121 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/logging/ServiceLogId.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/logging/ServiceLogId.java
@@ -15,8 +15,9 @@
 package org.opendes.indexer.logging;
 
 import org.opendes.core.logging.LogId;
+import org.springframework.stereotype.Component;
 
-
+@Component
 public class ServiceLogId implements LogId {
     @Override
     public String getRequestLog() {
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/middleware/IndexerFilter.java b/indexer-service-root/src/main/java/org/opendes/indexer/middleware/IndexerFilter.java
index 103120d942d1fdd2d17d508d2182f3c61caff23b..a268cf382c938b199d34d6c0aab78803aaaf03e7 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/middleware/IndexerFilter.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/middleware/IndexerFilter.java
@@ -42,103 +42,103 @@ import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.List;
 
-@Component
-public class IndexerFilter implements Filter {
+//@Component
+public class IndexerFilter {
 
-    private static final String DISABLE_AUTH_PROPERTY = "com.slb.indexer.disableAuth";
-    private static final String PATH_SWAGGER = "/swagger.json";
-    private static final String PATH_TASK_HANDLERS = "task-handlers";
-    private static final String PATH_CRON_HANDLERS = "cron-handlers";
-
-    @Context
-    private ResourceInfo resourceInfo;
-    @Autowired
-    private AuthorizationService authorizationService;
-    @Autowired
-    private JaxRsDpsLog log;
-    @Autowired
-    private IRequestInfo requestInfoProvider;
-
-    @Lazy
-    @Autowired
-    private DpsHeaders dpsHeaders;
-
-    @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
-        boolean disableAuth = Boolean.getBoolean(DISABLE_AUTH_PROPERTY);
-        if (disableAuth) {
-            return;
-        }
-
-        HttpServletRequest httpRequest = (HttpServletRequest) request;
-        String uri = httpRequest.getRequestURI().toLowerCase();
-
-        if (uri.contains(PATH_SWAGGER)) {
-            filterChain.doFilter(request, response);
-            return;
-        }
-
-        if (httpRequest.getMethod().equals(HttpMethods.GET) && uri.contains(PATH_SWAGGER))
-            return;
-
-        if (httpRequest.getMethod().equals(HttpMethods.POST) && uri.contains(PATH_SWAGGER)) {
-            checkWorkerApiAccess(requestInfoProvider);
-            return;
-        }
-
-        if (httpRequest.getMethod().equals(HttpMethods.GET) &&uri.contains(PATH_SWAGGER)) {
-            checkCronApiAccess(requestInfoProvider);
-            return;
-        }
-
-        Method method = this.resourceInfo.getResourceMethod();
-        PermitAll permitAll = method.getAnnotation(PermitAll.class);
-        if (permitAll != null) {
-            return;
-        }
-
-        DpsHeaders headers = this.dpsHeaders;
-
-        String[] requiredRoles = getRequiredRoles(method);
-
-        checkApiAccess(requiredRoles, headers);
-    }
-
-    private void checkApiAccess(String[] requiredRoles, DpsHeaders requestHeaders) {
-        validateAccountId(requestHeaders);
-        AuthorizationResponse authorizationResponse = authorizationService.authorizeAny(requestHeaders, requiredRoles);
-        requestHeaders.put(DpsHeaders.USER_EMAIL, authorizationResponse.getUser());
-    }
-
-    private List<String> validateAccountId(DpsHeaders requestHeaders) {
-        String accountHeader = requestHeaders.getPartitionIdWithFallbackToAccountId();
-        String debuggingInfo = String.format("%s:%s", DpsHeaders.DATA_PARTITION_ID, accountHeader);
-
-        if (Strings.isNullOrEmpty(accountHeader)) {
-            throw new AppException(HttpStatus.SC_BAD_REQUEST, "Bad request", "invalid or empty data partition", debuggingInfo);
-        }
-
-        List<String> dataPartitions = Arrays.asList(accountHeader.trim().split("\\s*,\\s*"));
-        if (dataPartitions.isEmpty() || dataPartitions.size() > 1) {
-            throw new AppException(HttpStatus.SC_BAD_REQUEST, "Bad request", "invalid or empty data partition", debuggingInfo);
-        }
-        return dataPartitions;
-    }
-
-    private void checkWorkerApiAccess(IRequestInfo requestInfo) {
-        if (requestInfo.isTaskQueueRequest()) return;
-        throw AppException.createForbidden("invalid user agent, AppEngine Task Queue only");
-    }
-
-    private void checkCronApiAccess(IRequestInfo requestInfo) {
-        if (requestInfo.isCronRequest()) return;
-        throw AppException.createForbidden("invalid user agent, AppEngine Cron only");
-    }
-
-    private String[] getRequiredRoles(Method method) {
-        RolesAllowed rolesAllowed = method.getAnnotation(RolesAllowed.class);
-        return rolesAllowed.value();
-    }
+//    private static final String DISABLE_AUTH_PROPERTY = "com.slb.indexer.disableAuth";
+//    private static final String PATH_SWAGGER = "/swagger.json";
+//    private static final String PATH_TASK_HANDLERS = "task-handlers";
+//    private static final String PATH_CRON_HANDLERS = "cron-handlers";
+//
+//    @Context
+//    private ResourceInfo resourceInfo;
+//    @Autowired
+//    private AuthorizationService authorizationService;
+//    @Autowired
+//    private JaxRsDpsLog log;
+//    @Autowired
+//    private IRequestInfo requestInfoProvider;
+//
+//    @Lazy
+//    @Autowired
+//    private DpsHeaders dpsHeaders;
+//
+//    @Override
+//    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
+//        boolean disableAuth = Boolean.getBoolean(DISABLE_AUTH_PROPERTY);
+//        if (disableAuth) {
+//            return;
+//        }
+//
+//        HttpServletRequest httpRequest = (HttpServletRequest) request;
+//        String uri = httpRequest.getRequestURI().toLowerCase();
+//
+//        if (uri.contains(PATH_SWAGGER)) {
+//            filterChain.doFilter(request, response);
+//            return;
+//        }
+//
+//        if (httpRequest.getMethod().equals(HttpMethods.GET) && uri.contains(PATH_SWAGGER))
+//            return;
+//
+//        if (httpRequest.getMethod().equals(HttpMethods.POST) && uri.contains(PATH_SWAGGER)) {
+//            checkWorkerApiAccess(requestInfoProvider);
+//            return;
+//        }
+//
+//        if (httpRequest.getMethod().equals(HttpMethods.GET) &&uri.contains(PATH_SWAGGER)) {
+//            checkCronApiAccess(requestInfoProvider);
+//            return;
+//        }
+//
+//        Method method = this.resourceInfo.getResourceMethod();
+//        PermitAll permitAll = method.getAnnotation(PermitAll.class);
+//        if (permitAll != null) {
+//            return;
+//        }
+//
+//        DpsHeaders headers = this.dpsHeaders;
+//
+//        String[] requiredRoles = getRequiredRoles(method);
+//
+//        checkApiAccess(requiredRoles, headers);
+//    }
+//
+//    private void checkApiAccess(String[] requiredRoles, DpsHeaders requestHeaders) {
+//        validateAccountId(requestHeaders);
+//        AuthorizationResponse authorizationResponse = authorizationService.authorizeAny(requestHeaders, requiredRoles);
+//        requestHeaders.put(DpsHeaders.USER_EMAIL, authorizationResponse.getUser());
+//    }
+//
+//    private List<String> validateAccountId(DpsHeaders requestHeaders) {
+//        String accountHeader = requestHeaders.getPartitionIdWithFallbackToAccountId();
+//        String debuggingInfo = String.format("%s:%s", DpsHeaders.DATA_PARTITION_ID, accountHeader);
+//
+//        if (Strings.isNullOrEmpty(accountHeader)) {
+//            throw new AppException(HttpStatus.SC_BAD_REQUEST, "Bad request", "invalid or empty data partition", debuggingInfo);
+//        }
+//
+//        List<String> dataPartitions = Arrays.asList(accountHeader.trim().split("\\s*,\\s*"));
+//        if (dataPartitions.isEmpty() || dataPartitions.size() > 1) {
+//            throw new AppException(HttpStatus.SC_BAD_REQUEST, "Bad request", "invalid or empty data partition", debuggingInfo);
+//        }
+//        return dataPartitions;
+//    }
+//
+//    private void checkWorkerApiAccess(IRequestInfo requestInfo) {
+//        if (requestInfo.isTaskQueueRequest()) return;
+//        throw AppException.createForbidden("invalid user agent, AppEngine Task Queue only");
+//    }
+//
+//    private void checkCronApiAccess(IRequestInfo requestInfo) {
+//        if (requestInfo.isCronRequest()) return;
+//        throw AppException.createForbidden("invalid user agent, AppEngine Cron only");
+//    }
+//
+//    private String[] getRequiredRoles(Method method) {
+//        RolesAllowed rolesAllowed = method.getAnnotation(RolesAllowed.class);
+//        return rolesAllowed.value();
+//    }
 
 
 }
\ No newline at end of file
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/model/RecordStatus.java b/indexer-service-root/src/main/java/org/opendes/indexer/model/RecordStatus.java
index 7cdb4f453d633bf611883182c245fe2facc28f58..9aad292ee1d1985c7563750279c6fad583ad7e5e 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/model/RecordStatus.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/model/RecordStatus.java
@@ -18,15 +18,10 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.ToString;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-
 @Data
 @Builder
-@Component
-@Lazy
 public class RecordStatus {
 
     private String id;
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/service/IndexerServiceImpl.java b/indexer-service-root/src/main/java/org/opendes/indexer/service/IndexerServiceImpl.java
index 226a15ad8506c5c129de618035927c097637905e..f39c1143c43253fd58742c1dd4b0e819ea311fbb 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/service/IndexerServiceImpl.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/service/IndexerServiceImpl.java
@@ -92,11 +92,12 @@ public class IndexerServiceImpl implements IndexerService {
     private ElasticIndexNameResolver elasticIndexNameResolver;
     @Autowired
     private IAttributeParsingService attributeParsingServiceImpl;
-    @Autowired
-    private IRequestInfo requestInfo;
+//    @Autowired
+//    private IRequestInfo requestInfo;
     @Autowired
     private JobStatus jobStatus;
 
+    @Autowired
     private DpsHeaders headers;
 
     @Override
@@ -109,7 +110,7 @@ public class IndexerServiceImpl implements IndexerService {
         List<String> retryRecordIds = new LinkedList<>();
 
         // get auth header
-        this.headers = this.requestInfo.getHeaders();
+//        this.headers = this.requestInfo.getHeaders();
 
         // initialize status for all messages.
         this.jobStatus.initialize(recordInfos);
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/service/StorageServiceImpl.java b/indexer-service-root/src/main/java/org/opendes/indexer/service/StorageServiceImpl.java
index 3ebe24074802162896ac1959e8632b179ae49933..84c73c70f68aa8ac2f9f43095aae41e96a93e2bd 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/service/StorageServiceImpl.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/service/StorageServiceImpl.java
@@ -32,6 +32,7 @@ import org.opendes.indexer.util.IRequestInfo;
 import org.opendes.indexer.util.JobStatus;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.apache.http.HttpStatus;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import java.io.UnsupportedEncodingException;
diff --git a/indexer-service-root/src/main/java/org/opendes/indexer/util/JobStatus.java b/indexer-service-root/src/main/java/org/opendes/indexer/util/JobStatus.java
index 542cf6d474fa0e63c4f4bd0fd46d97ebe5ec6a97..623afe85fbbe40170efbee5759133549fdfb543d 100644
--- a/indexer-service-root/src/main/java/org/opendes/indexer/util/JobStatus.java
+++ b/indexer-service-root/src/main/java/org/opendes/indexer/util/JobStatus.java
@@ -15,6 +15,7 @@
 package org.opendes.indexer.util;
 
 import com.google.common.base.Strings;
+import lombok.extern.java.Log;
 import org.opendes.core.logging.JaxRsDpsLog;
 import org.opendes.indexer.model.*;
 import lombok.Data;
@@ -27,17 +28,19 @@ import java.util.stream.Collectors;
 
 @Component
 @Data
+@Log
 public class JobStatus {
 
     @Autowired
-    private JaxRsDpsLog log;
+    private JaxRsDpsLog jaxRsDpsLog;
 
-    private List<RecordStatus> statusesList;
+    private List<RecordStatus> statusesList = new ArrayList<>();
 
-    private List<String> debugInfos;
+    private List<String> debugInfos = new ArrayList<>();
 
     public void initialize(List<RecordInfo> recordInfos) {
 
+        log.info(">>>>>>>> IN JOB STATUS INITIALIZE <<<<<<<<<");
         if (recordInfos == null || recordInfos.isEmpty()) return;
 
         List<RecordStatus> statuses = recordInfos.stream().map(msg -> RecordStatus.builder()
@@ -49,6 +52,7 @@ public class JobStatus {
                 .build()).collect(Collectors.toList());
 
         this.statusesList.addAll(statuses);
+        this.statusesList.forEach(s -> log.info("STATUS LIST: " + s.toString()));
     }
 
     public void addOrUpdateRecordStatus(Collection<String> ids, IndexingStatus status, int statusCode, String message, String debugInfo) {
@@ -127,6 +131,6 @@ public class JobStatus {
                 });
 
         // dump all debug-info
-        this.log.warning(this.debugInfos);
+        this.jaxRsDpsLog.warning(this.debugInfos);
     }
 }
diff --git a/indexer-service-root/src/test/java/org/opendes/indexer/logging/AuditLoggerTest.java b/indexer-service-root/src/test/java/org/opendes/indexer/logging/AuditLoggerTest.java
index 09064e70c24de90e42a65ab2082690e73049ba53..25db574382fc796b31c454faa6bd2c79fa2003c7 100644
--- a/indexer-service-root/src/test/java/org/opendes/indexer/logging/AuditLoggerTest.java
+++ b/indexer-service-root/src/test/java/org/opendes/indexer/logging/AuditLoggerTest.java
@@ -23,7 +23,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.opendes.client.logging.payload.AuditPayload;
 import org.opendes.core.logging.JaxRsDpsLog;
-import org.opendes.core.util.HeadersInfo;
+import org.opendes.core.util.IHeadersInfo;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import java.util.Map;
@@ -38,7 +38,7 @@ public class AuditLoggerTest {
     @Mock
     private JaxRsDpsLog logger;
     @Mock
-    private HeadersInfo headers;
+    private IHeadersInfo headers;
     @InjectMocks
     private AuditLogger sut;
 
diff --git a/indexer-service-root/src/test/java/org/opendes/indexer/service/IndexCopyServiceImplTest.java b/indexer-service-root/src/test/java/org/opendes/indexer/service/IndexCopyServiceImplTest.java
index 1af6fcfbe3fc53f9c92eb767552dd6cc5e7c4c91..c772714f6148dcbbddc33f50a8c517e1aeda672c 100644
--- a/indexer-service-root/src/test/java/org/opendes/indexer/service/IndexCopyServiceImplTest.java
+++ b/indexer-service-root/src/test/java/org/opendes/indexer/service/IndexCopyServiceImplTest.java
@@ -36,7 +36,7 @@ import org.opendes.core.service.ElasticSettingService;
 import org.opendes.core.service.IndicesService;
 import org.opendes.core.util.AppException;
 import org.opendes.core.util.ElasticClientHandler;
-import org.opendes.core.util.HeadersInfo;
+import org.opendes.core.util.IHeadersInfo;
 import org.opendes.indexer.logging.AuditLogger;
 import org.opendes.indexer.util.IRequestInfo;
 import org.powermock.core.classloader.annotations.PrepareForTest;
@@ -67,7 +67,7 @@ public class IndexCopyServiceImplTest {
     @Mock
     private IRequestInfo requestInfo;
     @Mock
-    private HeadersInfo headersInfo;
+    private IHeadersInfo headersInfo;
     @Mock
     private RestClient restClient;
     @Mock
diff --git a/indexer-service-root/src/test/java/org/opendes/indexer/service/TenantInfoServiceTest.java b/indexer-service-root/src/test/java/org/opendes/indexer/service/TenantInfoServiceTest.java
index e632477fc29a1abb4064ac105daf871785ac74e0..6f0c9142f793df39b64b8b28c24aafeb7149fa95 100644
--- a/indexer-service-root/src/test/java/org/opendes/indexer/service/TenantInfoServiceTest.java
+++ b/indexer-service-root/src/test/java/org/opendes/indexer/service/TenantInfoServiceTest.java
@@ -24,7 +24,7 @@ import org.opendes.client.api.DpsHeaders;
 import org.opendes.client.multitenancy.ITenantFactory;
 import org.opendes.client.multitenancy.TenantInfo;
 import org.opendes.core.util.AppException;
-import org.opendes.core.util.HeadersInfo;
+import org.opendes.core.util.IHeadersInfo;
 import org.springframework.http.HttpHeaders;
 import org.springframework.test.context.junit4.SpringRunner;
 
@@ -40,8 +40,8 @@ public class TenantInfoServiceTest {
 
     @Mock
     private ITenantFactory tenantFactory;
-    @InjectMocks
-    private HeadersInfo headersInfo;
+    @Mock
+    private IHeadersInfo headersInfo;
     @InjectMocks
     private TenantInfoServiceImpl sut;