Code review comment: Yes, concurrency only impacts the downstream call `flatMapSequential`. `Flux.create()` will run sequentially.

Code under review:
private void createHttpRequest(ObjectSerializer serializer, Iterator<Object> iterator, FluxSink<LogsIngestionRequest> emitter) {
        try {
            long currentBatchSize = 0;
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            JsonGenerator generator = JsonFactory.builder().build().createGenerator(byteArrayOutputStream);
            generator.writeStartArray();
            List<String> serializedLogs = new ArrayList<>();
            List<Object> originalLogsRequest = new ArrayList<>();
            while (iterator.hasNext()) {
                Object currentLog = iterator.next();
                byte[] bytes = serializer.serializeToBytes(currentLog);
                int currentLogSize = bytes.length;
                currentBatchSize += currentLogSize;
                if (currentBatchSize > MAX_REQUEST_PAYLOAD_SIZE) {
                    writeLogsAndCloseJsonGenerator(generator, serializedLogs);
                    byte[] zippedRequestBody = gzipRequest(byteArrayOutputStream.toByteArray());
                    emitter.next(new LogsIngestionRequest(originalLogsRequest, zippedRequestBody));
                    byteArrayOutputStream = new ByteArrayOutputStream();
                    generator = JsonFactory.builder().build().createGenerator(byteArrayOutputStream);
                    generator.writeStartArray();
                    currentBatchSize = currentLogSize;
                    originalLogsRequest = new ArrayList<>();
                    serializedLogs.clear();
                }
                serializedLogs.add(new String(bytes, StandardCharsets.UTF_8));
                originalLogsRequest.add(currentLog);
            }
            if (currentBatchSize > 0) {
                writeLogsAndCloseJsonGenerator(generator, serializedLogs);
                byte[] zippedRequestBody = gzipRequest(byteArrayOutputStream.toByteArray());
                emitter.next(new LogsIngestionRequest(originalLogsRequest, zippedRequestBody));
            }
            emitter.complete();
        } catch (IOException e) {
            emitter.error(e);
        }
    }

Line commented on: while (iterator.hasNext()) {

Revised code:
private void createHttpRequest(ObjectSerializer serializer, Iterator<Object> iterator, FluxSink<LogsIngestionRequest> emitter) {
        try {
            long currentBatchSize = 0;
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            JsonGenerator generator = JsonFactory.builder().build().createGenerator(byteArrayOutputStream);
            generator.writeStartArray();
            List<String> serializedLogs = new ArrayList<>();
            List<Object> originalLogsRequest = new ArrayList<>();
            while (iterator.hasNext()) {
                Object currentLog = iterator.next();
                byte[] bytes = serializer.serializeToBytes(currentLog);
                int currentLogSize = bytes.length;
                currentBatchSize += currentLogSize;
                if (currentBatchSize > MAX_REQUEST_PAYLOAD_SIZE) {
                    writeLogsAndCloseJsonGenerator(generator, serializedLogs);
                    byte[] zippedRequestBody = gzipRequest(byteArrayOutputStream.toByteArray());
                    emitter.next(new LogsIngestionRequest(originalLogsRequest, zippedRequestBody));
                    byteArrayOutputStream = new ByteArrayOutputStream();
                    generator = JsonFactory.builder().build().createGenerator(byteArrayOutputStream);
                    generator.writeStartArray();
                    currentBatchSize = currentLogSize;
                    originalLogsRequest = new ArrayList<>();
                    serializedLogs.clear();
                }
                serializedLogs.add(new String(bytes, StandardCharsets.UTF_8));
                originalLogsRequest.add(currentLog);
            }
            if (currentBatchSize > 0) {
                writeLogsAndCloseJsonGenerator(generator, serializedLogs);
                byte[] zippedRequestBody = gzipRequest(byteArrayOutputStream.toByteArray());
                emitter.next(new LogsIngestionRequest(originalLogsRequest, zippedRequestBody));
            }
            emitter.complete();
        } catch (IOException e) {
            emitter.error(e);
        }
    }