Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TopicConfigBuilder does not produce the expected configuration for a compacted topic #179

Closed
masesdevelopers opened this issue Apr 23, 2023 · 0 comments · Fixed by #180
Closed
Assignees
Labels
bug Something isn't working KNet KNet related issue

Comments

@masesdevelopers
Copy link
Contributor

masesdevelopers commented Apr 23, 2023

Describe the bug
Trying to create a topic with the following parameters:

  • cleanup.policy=compact,delete
  • delete.retention.ms=100
  • segment.ms=100
  • min.cleanable.dirty.ratio=0.01

fails with an exception.

To Reproduce
Steps to reproduce the behavior:

  1. Execute the following snippet:
var topic = new NewTopic(topicName, partitions, replicationFactor);
topic = topic.Configs(TopicConfigBuilder.Create().WithCleanupPolicy(TopicConfig.CleanupPolicy.Compact | TopicConfig.CleanupPolicy.Delete)
                                                                 .WithDeleteRetentionMs(100)
                                                                 .WithMinCleanableDirtyRatio(0.01)
                                                                 .WithSegmentMs(100));
  1. and use the result to create the topic like in:
                Properties props = AdminClientConfigBuilder.Create().WithBootstrapServers(serverToUse).ToProperties();
                using (IAdmin admin = KafkaAdminClient.Create(props))
                {
                    // Create a compacted topic
                    CreateTopicsResult result = admin.CreateTopics(coll);
                }
  1. See errors: MinCleanableDirtyRatio expect a double, CleanupPolicy is not recognized.

Expected behavior
The topic shall be created with the expected parameters.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10
  • Version: latest

Additional context
N/A

@masesdevelopers masesdevelopers added bug Something isn't working KNet KNet related issue labels Apr 23, 2023
@masesdevelopers masesdevelopers self-assigned this Apr 23, 2023
masesdevelopers added a commit that referenced this issue Jul 6, 2023
* #168: first step: replace namespaces in all available classes

* #93: documentation alignment

* Added a benchmark to verify performance roundtrip (#178)

* #53: added new roundtrip benchmark

* #53: update performance description file

* #168: moved KNet specific classes into dedicated folder

* #179: fixed compacted topic creation (#180)

* #92: full class review due to breaking change in JCOBridge

* #168: first generation

* Added KNetCompactedReplicator, evolved KNetProducer and KNetConsumer, enhanced serializer/deserializer (#182)

* #92: full class review due to breaking change in JCOBridge

* #175: improvements in Consumer/Producer Builders

* #175: review classes to accept new KNetCompactedReplicator

* #175: added serialization projects

* #175: moved to Java SerDes due to error in C# compilation within container

* #175: review of KNetConsumer, KNetProducer and KNetSerDes; added specific test for KNetConsumer and KNetProducer

* #175: update serialization and added MessagePack type

* #175: updates on sync management

* #175: documentation update

* Update documentation after commit fb2bded

* Added missing SourceLink

* Configuration is now managed using a JSON file (masesgroup/JNet#179)

* Update configuration and files

* Temporary commit: many classes shall be removed because are old

* #185: fix .NET Framework PowerShell version (#186)

* #92: update to JNet 2.0.0.0

* #121: update to version 2.0.0.0

* Correction on namespace

* Update classes after JNetReflector update for masesgroup/JNet#195

* #168 (comment): implementation of special listeners

* Reviewed implementation of KNet version of ConnectStandalone and ConnectDistributed

* #88: full update to Apache Kafka 3.5.0

* Code alignment to latest JNetReflector: nullable native types converted into Java types

* Update workflows to avoid documentation generation out of main branch build
masesdevelopers added a commit that referenced this issue Jul 7, 2023
* Full project review based on latest version of JNet suite (#193)

* #168: first step: replace namespaces in all available classes

* #93: documentation alignment

* Added a benchmark to verify performance roundtrip (#178)

* #53: added new roundtrip benchmark

* #53: update performance description file

* #168: moved KNet specific classes into dedicated folder

* #179: fixed compacted topic creation (#180)

* #92: full class review due to breaking change in JCOBridge

* #168: first generation

* Added KNetCompactedReplicator, evolved KNetProducer and KNetConsumer, enhanced serializer/deserializer (#182)

* #92: full class review due to breaking change in JCOBridge

* #175: improvements in Consumer/Producer Builders

* #175: review classes to accept new KNetCompactedReplicator

* #175: added serialization projects

* #175: moved to Java SerDes due to error in C# compilation within container

* #175: review of KNetConsumer, KNetProducer and KNetSerDes; added specific test for KNetConsumer and KNetProducer

* #175: update serialization and added MessagePack type

* #175: updates on sync management

* #175: documentation update

* Update documentation after commit fb2bded

* Added missing SourceLink

* Configuration is now managed using a JSON file (masesgroup/JNet#179)

* Update configuration and files

* Temporary commit: many classes shall be removed because are old

* #185: fix .NET Framework PowerShell version (#186)

* #92: update to JNet 2.0.0.0

* #121: update to version 2.0.0.0

* Correction on namespace

* Update classes after JNetReflector update for masesgroup/JNet#195

* #168 (comment): implementation of special listeners

* Reviewed implementation of KNet version of ConnectStandalone and ConnectDistributed

* #88: full update to Apache Kafka 3.5.0

* Code alignment to latest JNetReflector: nullable native types converted into Java types

* Update workflows to avoid documentation generation out of main branch build

* Update documentation after commit 312b4bf

* Added missing documentation (#194)

* #24, #168: review documentation, removed unused classes, KafkaClientSupplier becomes a listener

* #24: fix documentation location (#195)

* #24: removed many warning from workflows output (#196)

* #24: added disclaimer for version 2.0.0 (#197)

* Update documentation after commit cb755ee

* V2 merge conflicts solved (#198)

* Remerge (#199)

* #24: added some documentation for serializer/deserializer (#201)

* Update documentation after commit b9e9db3

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working KNet KNet related issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant