Comments (3)
Looks like the following will fix this. There are several test cases that look like they might have similar concurrency issues here.
[Test]
public void WriteAndReadShouldBeAsyncronous()
{
var write = new List<int>();
var read = new ConcurrentBag<int>();
var expected = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
using (var server = new FakeTcpServer(FakeServerPort))
{
server.OnBytesReceived += data => write.AddRange(data.Batch(4).Select(x => x.ToArray().ToInt32()));
var test = new KafkaTcpSocket(new DefaultTraceLog(), _fakeServerUrl);
var tasks = Enumerable.Range(1, 10)
.SelectMany(i => new[]
{
test.WriteAsync(i.ToBytes()),
test.ReadAsync(4).ContinueWith(t => read.Add(t.Result.ToInt32())),
server.SendDataAsync(i.ToBytes())
}).ToArray();
Task.WaitAll(tasks);
Assert.That(write.OrderBy(x => x).ToList(), Is.EqualTo(expected));
Assert.That(read.OrderBy(x => x).ToList(), Is.EqualTo(expected));
// Don't let server go out of scope before test has finished accessing it.
server.DropConnection();
}
}
from kafka-net.
Thanks Ade, there are a few that are definitely not testing things correctly in terms of concurrency. And some that are not testing exactly what they say they are testing. They definitely need review.
from kafka-net.
Hey Ade, do you want to do the test as a pull request so you can get credit for the fix? Otherwise I can just paste the fix in. Let me know.
from kafka-net.
Related Issues (20)
- kafka-net for .NET Core HOT 2
- Max message size 4096 bytes? HOT 1
- OOM error
- Current development status ? HOT 1
- Does this library already contain support for Kafka Streams introduced in Kafka 0.10 HOT 1
- Send producer problem when the service broker is offline HOT 1
- Kafka-net Producer hangs When Sending Inside ArcMap
- Best way to persist and start from a Offset HOT 1
- "This protocol version is not supported." HOT 1
- Is it possible to alter the Whitelist while consuming messages?
- Can i use this library for open tracing using zipkin
- I am getting KafkaNet.Protocol.ResponseTimeoutException when sending data to kafka topic.Is there any way to overcome this issue?
- SendMessageAsync of Producer not completing
- hotspot issue with sendMessageAsync on partition level HOT 1
- It cannot connect to the localhost:9092
- kafka-net .Net Core version HOT 1
- How to List all Topics
- Support of StreamsAPI or connector API
- Buffer underrun. Increasing buffer size
- Kafka Cluster Issue when API Version =1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kafka-net.