Hi everyone,
i am new in Dgraph and i’m using .NET Core C# Client (GitHub - MichaelJCompton/Dgraph-dotnet: .Net client for Dgraph) to connect Dgraph Server, query and mutation data.
I’m facing with problem: {ExceptionalError with Message='Status(StatusCode=ResourceExhausted, Detail="received trailing metadata size exceeds limit")', Exception='Grpc.Core.RpcException: Status(StatusCode=ResourceExhausted, Detail="received trailing metadata size exceeds limit") at DgraphDotNet.GRPCConnection.Query(Request req) at DgraphDotNet.DgraphClient.Query(Request req) at DgraphDotNet.Transactions.Transaction.QueryWithVars(String queryString, Dictionary`2 varMap)'}
I also add Grpc option like that:
var server = "xxxxx";
CurrentClient.Connect(server, ChannelCredentials.Insecure, new[]{
new ChannelOption(ChannelOptions.MaxSendMessageLength ,2147483647),
new ChannelOption(ChannelOptions.MaxReceiveMessageLength , 2147483647)
});
AND on Program.cs
services.AddGrpc().AddServiceOptions<DgraphDotNet.IDgraphClient>(options =>
{
options.EnableDetailedErrors = true;
options.ReceiveMaxMessageSize = 2147483647;
options.SendMaxMessageSize = 2147483647;
});
But still facing with this trouble
Everyone, please help me.
Thank all
using DgraphDotNet;
using Grpc.Core;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
public class DgraphService
{
private readonly IDgraphClient _client;
public DgraphService(IConfiguration config)
{
var server = config["Dgraph:Server"];
var channelOptions = new List<ChannelOption>
{
new ChannelOption(ChannelOptions.MaxSendMessageLength, 2147483647), // ~2GB
new ChannelOption(ChannelOptions.MaxReceiveMessageLength, 2147483647) // ~2GB
};
_client = DgraphDotNet.DgraphClient.NewDgraphClient(
new[] { new GRPCConnection(server, ChannelCredentials.Insecure, channelOptions) }
);
}
public async Task<string> QueryAsync(string query, Dictionary<string, string> vars = null)
{
using var txn = _client.NewTxn();
try
{
var request = new Request { Query = query };
if (vars != null)
{
request.Vars.Add(vars);
}
var response = await txn.Query(request);
return response.Json.ToStringUtf8();
}
catch (RpcException ex)
{
throw new Exception($"gRPC error: {ex.StatusCode} - {ex.Status.Detail}", ex);
}
finally
{
await txn.Discard();
}
}
public async Task SetupSchemaAsync()
{
using var txn = _client.NewTxn();
try
{
var schema = @"
name: string @index(exact) .
";
await txn.Mutate(new Mutation { SetNquads = schema });
await txn.Commit();
}
finally
{
await txn.Discard();
}
}
public async Task InsertSampleDataAsync()
{
using var txn = _client.NewTxn();
try
{
var mutation = new Mutation
{
SetNquads = "_:alice <name> \"Alice\" ."
};
await txn.Mutate(mutation);
await txn.Commit();
}
finally
{
await txn.Discard();
}
}
}