private void createLock()

in spi/src/main/java/org/opensearch/jobscheduler/spi/utils/LockService.java [197:222]


    private void createLock(final LockModel tempLock, ActionListener<LockModel> listener) {
        try {
            final IndexRequest request = new IndexRequest(LOCK_INDEX_NAME)
                .id(tempLock.getLockId())
                .source(tempLock.toXContent(XContentFactory.jsonBuilder(), ToXContent.EMPTY_PARAMS))
                .setIfSeqNo(SequenceNumbers.UNASSIGNED_SEQ_NO)
                .setIfPrimaryTerm(SequenceNumbers.UNASSIGNED_PRIMARY_TERM)
                .create(true);
            client.index(request, ActionListener.wrap(
                    response -> listener.onResponse(new LockModel(tempLock, response.getSeqNo(),
                            response.getPrimaryTerm())),
                    exception -> {
                       if (exception instanceof VersionConflictEngineException) {
                           logger.debug("Lock is already created. {}", exception.getMessage());
                       }
                       if (exception instanceof IOException) {
                           logger.error("IOException occurred creating lock", exception);
                       }
                       listener.onResponse(null);
                    }
            ));
        } catch (IOException e) {
            logger.error("IOException occurred creating lock", e);
            listener.onResponse(null);
        }
    }