May be a duplicate of https://github.com/localstack/localstack/issues/988 but due to the age I will re raise.

I'm having issues when I throw an exception in a lambda - it isn't appearing on my dead letter queue. Is there something I am missing, I would like an sqs event exception to appear on the poison queue when an exception happens.

Below is the basic config:
 ````
    sqsclient.create_queue(QueueName = 'test-queue')
    sqsclient.create_queue(QueueName = 'test-queue-poison')

    lambda_client.create_function(
            FunctionName='MyFunction',
            Runtime='dotnetcore2.1',
            Role='role',
            Handler='Handler',
            Code=code,
	    DeadLetterConfig={'TargetArn': 'test-queue-poison-arn'})

     lambda_client.create_event_source_mapping(
		EventSourceArn='test-queue-arn',
		FunctionName='MyFunction',
		Enabled=True,
		BatchSize=100,
		StartingPosition='LATEST')
````

So when I raise a new (.net)exception within the lambda function no message is going to the dead letter queue. I can confirm that all is attached together OK as all other scenarios work, and the above code is pseudo-ish.
s3_client.download_fileobj(function_code['S3Bucket'], function_code['S3Key'], bytes_io)
            zip_file_content = bytes_io.getvalue()
        except Exception as e:
            raise ClientError('Unable to fetch Lambda archive from S3: %s' % e, 404)
    elif 'ZipFile' in function_code:
        zip_file_content = function_code['ZipFile']
        zip_file_content = base64.b64decode(zip_file_content)
    else:
        raise ClientError('No valid Lambda archive specified.')
    return zip_file_content
def get_java_handler(zip_file_content, handler, main_file):
    """Creates a Java handler from an uploaded ZIP or JAR.
    :type zip_file_content: bytes
    :param zip_file_content: ZIP file bytes.
    :type handler: str
    :param handler: The lambda handler path.
    :type main_file: str
    :param main_file: Filepath to the uploaded ZIP or JAR file.
    :returns: function or flask.Response
    """
    if not is_jar_archive(zip_file_content):
        with zipfile.ZipFile(BytesIO(zip_file_content)) as zip_ref:
            
            jar_entries = [e for e in zip_ref.infolist() if e.filename.endswith('.jar')]
            if len(jar_entries) == 1:
                zip_file_content = zip_ref.read(jar_entries[0].filename)
                LOG.info('Found single jar file %s with %s bytes in Lambda zip archive' %
                         (jar_entries[0].filename, len(zip_file_content)))
                main_file = new_tmp_file()
                save_file(main_file, zip_file_content)