I have a setup where there is a node.js application that writes to a kinesis stream using putRecords for two items. The kinesis stream feeds a Lambda function that is configured with an eventSourceMapping with a batch size of 1. However, when I debug what the Records Kinesis feeds the lambda for an invocation, I see that the lambda is processing two records. Both of these records are on the same shard and have a sequence number which is pretty close.

The interesting thing is that if I switch the node.js published to use putRecord instead of putRecords, the kinesis records have a slightly farther apart sequence number and the lambda is fed the records individually.

The java code to configure the event source mapping
```
        AWSLambdaAsync lambdaClient = AWSResourceFactory.getLambdaClient();
        CreateEventSourceMappingRequest request = new CreateEventSourceMappingRequest();
        request.setEventSourceArn(kinesisArn);
        request.setFunctionName(functionName);
        request.setEnabled(true);
        request.setStartingPosition(EventSourcePosition.TRIM_HORIZON);
        request.setBatchSize(1);
        lambdaClient.createEventSourceMapping(request);
```

The localstack lambda output that shows multiple records being read at a time:

```
{
	"Records": [{
		"eventID": "shardId-000000000000:49593014281924840790139112603493819506073986345293840386",
		"eventSourceARN": "arn:aws:kinesis:us-east-1:000000000000:stream/MyStream",
		"kinesis": {
			"partitionKey": "ed0f756b97234f4fae9e3d1a886b8fbc",
			"data": "myData1",
			"sequenceNumber": "49593014281924840790139112603493819506073986345293840386"
		}
	}, {
		"eventID": "shardId-000000000000:49593014281924840790139112603495028431893600974468546562",
		"eventSourceARN": "arn:aws:kinesis:us-east-1:000000000000:stream/MyStream",
		"kinesis": {
			"partitionKey": "abee63a9299385699d65e89a290a9065",
			"data": "myData2",
			"sequenceNumber": "49593014281924840790139112603495028431893600974468546562"
		}
	}]
}
```

from localstack.services.awslambda.lambda_executors import (
    LAMBDA_RUNTIME_PYTHON27,
    LAMBDA_RUNTIME_PYTHON36,
    LAMBDA_RUNTIME_NODEJS,
    LAMBDA_RUNTIME_NODEJS610,
    LAMBDA_RUNTIME_NODEJS810,
    LAMBDA_RUNTIME_JAVA8,
    LAMBDA_RUNTIME_JAVA11,
    LAMBDA_RUNTIME_DOTNETCORE2,
    LAMBDA_RUNTIME_DOTNETCORE21,
    LAMBDA_RUNTIME_GOLANG,
    LAMBDA_RUNTIME_RUBY,
    LAMBDA_RUNTIME_RUBY25,
    LAMBDA_RUNTIME_PROVIDED)
from localstack.utils.common import (to_str, load_file, save_file, TMP_FILES, ensure_readable,
    mkdir, unzip, is_zip_file, zip_contains_jar_entries, run, short_uid, timestamp,
    TIMESTAMP_FORMAT_MILLIS, md5, parse_chunked_data, now_utc, safe_requests,
    isoformat_milliseconds)
from localstack.utils.analytics import event_publisher
from localstack.utils.aws.aws_models import LambdaFunction
from localstack.utils.cloudwatch.cloudwatch_util import cloudwatched
APP_NAME = 'lambda_api'
PATH_ROOT = '/2015-03-31'
ARCHIVE_FILE_PATTERN = '%s/lambda.handler.*.jar' % config.TMP_FOLDER
LAMBDA_SCRIPT_PATTERN = '%s/lambda_script_*.py' % config.TMP_FOLDER
LAMBDA_RUNTIMES = [LAMBDA_RUNTIME_PYTHON27, LAMBDA_RUNTIME_PYTHON36,
    LAMBDA_RUNTIME_DOTNETCORE2, LAMBDA_RUNTIME_DOTNETCORE21, LAMBDA_RUNTIME_NODEJS,
    LAMBDA_RUNTIME_NODEJS610, LAMBDA_RUNTIME_NODEJS810, LAMBDA_RUNTIME_JAVA8,
    LAMBDA_RUNTIME_JAVA11, LAMBDA_RUNTIME_RUBY, LAMBDA_RUNTIME_RUBY25]
LAMBDA_DEFAULT_TIMEOUT = 3