Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
b09e92c
#863 Fix naming of consumer group attribute (#870)
thompson-tomo May 27, 2025
e6a00b4
Merge branch 'main' into release/2.7
mtmk May 29, 2025
0f7166c
#848 Tweak dependencies (#853)
thompson-tomo May 29, 2025
61136b6
Merge branch 'main' into release/2.7
mtmk Jun 6, 2025
7d9cb11
Add support for `Filter` and `Enrich` for OpenTelemetry activities (#…
aradalvand Jun 9, 2025
5a23eb1
Obsolete ReplyAsync method for NatsJsMsg (#839)
yeongjonglim Jul 18, 2025
0bc89fd
#851 Move Serialization Interface into Abstractions (#858)
thompson-tomo Jul 18, 2025
948092d
Merge branch 'main' into release/2.7
mtmk Jul 18, 2025
97561b7
Release 2.7.0-preview.1 (#905)
mtmk Jul 18, 2025
5abeb7e
fix: `NatsInstrumentationOptions.Default` gets reset each time (#907)
aradalvand Jul 21, 2025
ceaf908
Merge branch 'main' into release/2.7
mtmk Jul 21, 2025
a68b68c
Release 2.7.0-preview.2 (#908)
mtmk Jul 21, 2025
bedafe0
Fix build warnings (#912)
mtmk Jul 24, 2025
948af5c
fix: `NatsJSConsumer` never disposing receive activities (#911)
aradalvand Jul 29, 2025
98ba4c3
Merge branch 'main' into release/2.7
mtmk Aug 1, 2025
c775647
Release 2.7.0-preview.3 (#922)
mtmk Aug 1, 2025
72a2e92
chore: rework NatsOpt.Default initialization (#921)
regnrat Aug 6, 2025
887ccde
Fix kv ttl interface (#909)
mtmk Aug 6, 2025
21c5545
Merge branch 'main' into release/2.7
mtmk Aug 15, 2025
4ad72b7
Merge branch 'main' into release/2.7
mtmk Aug 21, 2025
fe39df7
Release 2.7.0-preview.4 (#931)
mtmk Aug 21, 2025
93bd3b2
Merge branch 'main' into release/2.7
mtmk Sep 1, 2025
e64658c
Release 2.7.0-preview.5 (#944)
mtmk Sep 2, 2025
9ef5a4c
Merge branch 'refs/heads/main' into release/2.7
mtmk Sep 4, 2025
5ba3d61
Merge branch 'main' into release/2.7
mtmk Sep 11, 2025
8f5c735
Fix JetStream publish retry defaults (#939)
mtmk Sep 12, 2025
add0d38
Merge branch 'main' into release/2.7
mtmk Sep 17, 2025
fc1d7c2
Merge branch 'main' into release/2.7
mtmk Sep 18, 2025
1e658ab
Fix publish 503 test (#958)
mtmk Sep 19, 2025
0dd705a
Release 2.7.0-preview.6 (#956)
mtmk Sep 22, 2025
858e042
Merge branch 'main' into release/2.7
mtmk Oct 1, 2025
6b51e64
Release 2.7.0-preview.7 (#970)
mtmk Oct 1, 2025
d313529
fix: handle 408 Requests Pending responses for fetch requests (#973)
aradalvand Oct 6, 2025
845f811
Merge branch 'main' into release/2.7
mtmk Oct 9, 2025
a7f30c3
Merge branch 'main' into release/2.7
mtmk Oct 20, 2025
56e56dc
Release 2.7.0-preview.8 (#986)
mtmk Oct 20, 2025
67fdec0
Fix Ad-Hoc JSON Serializer to use Default Options (#984)
mtmk Oct 23, 2025
ac5fe82
Fix connection state for consume (#959)
mtmk Oct 29, 2025
a4e9c57
Merge branch 'main' into release/2.7
mtmk Oct 29, 2025
5639f13
Merge branch 'main' into release/2.7
mtmk Nov 24, 2025
88d3660
Merge branch 'main' into release/2.7
mtmk Dec 15, 2025
0216643
Update INatsJsConsumer to return INatsJsMsg (#1004)
mtmk Dec 17, 2025
ffe9c6b
Merge branch 'main' into release/2.7
mtmk Dec 17, 2025
399634f
Merge branch 'main' into release/2.7
mtmk Dec 19, 2025
7a13e95
Merge branch 'main' into release/2.7
mtmk Dec 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix: handle 408 Requests Pending responses for fetch requests (#973)
* Handle 408 Requests Pending responses for fetch requests

* Remove redundant `Console.WriteLine` that was put there for testing
  • Loading branch information
aradalvand authored Oct 6, 2025
commit d313529caa843d0cedc4e1c49450c0a8701da408
5 changes: 5 additions & 0 deletions src/NATS.Client.Core/NatsHeaderParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,11 @@ private bool TryParseHeaderLine(ReadOnlySpan<byte> headerLine, NatsHeaders heade
headers.Message = NatsHeaders.Messages.MessageSizeExceedsMaxBytes;
headers.MessageText = NatsHeaders.MessageMessageSizeExceedsMaxBytesStr;
}
else if (headerLine.SequenceEqual(NatsHeaders.MessageRequestsPendingBytes))
{
headers.Message = NatsHeaders.Messages.RequestsPending;
headers.MessageText = NatsHeaders.MessageRequestsPendingStr;
}
else
{
headers.Message = NatsHeaders.Messages.Text;
Expand Down
5 changes: 5 additions & 0 deletions src/NATS.Client.Core/NatsHeaders.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ public enum Messages
NoMessages,
RequestTimeout,
MessageSizeExceedsMaxBytes,
RequestsPending,
}

// Uses C# compiler's optimization for static byte[] data
Expand Down Expand Up @@ -58,6 +59,10 @@ public enum Messages
internal static ReadOnlySpan<byte> MessageMessageSizeExceedsMaxBytes => new byte[] { 77, 101, 115, 115, 97, 103, 101, 32, 83, 105, 122, 101, 32, 69, 120, 99, 101, 101, 100, 115, 32, 77, 97, 120, 66, 121, 116, 101, 115 };
internal static readonly string MessageMessageSizeExceedsMaxBytesStr = "Message Size Exceeds MaxBytes";

// Requests Pending
internal static ReadOnlySpan<byte> MessageRequestsPendingBytes => new byte[] { 82, 101, 113, 117, 101, 115, 116, 115, 32, 80, 101, 110, 100, 105, 110, 103 };
internal static readonly string MessageRequestsPendingStr = "Requests Pending";

private static readonly string[] EmptyKeys = Array.Empty<string>();
private static readonly StringValues[] EmptyValues = Array.Empty<StringValues>();

Expand Down
1 change: 1 addition & 0 deletions src/NATS.Client.Core/NatsSubBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ public enum NatsSubEndReason
Cancelled,
Exception,
JetStreamError,
RequestsPending,
}

/// <summary>
Expand Down
4 changes: 4 additions & 0 deletions src/NATS.Client.JetStream/Internal/NatsJSFetch.cs
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,10 @@ protected override async ValueTask ReceiveInternalAsync(
{
EndSubscription(NatsSubEndReason.NoMsgs);
}
else if (headers is { Code: 408, Message: NatsHeaders.Messages.RequestsPending })
{
EndSubscription(NatsSubEndReason.RequestsPending);
}
else if (headers is { Code: 408, Message: NatsHeaders.Messages.RequestTimeout })
{
EndSubscription(NatsSubEndReason.Timeout);
Expand Down