Git Product home page Git Product logo

gremlin.net's Introduction

gremlin.net's People

Contributors

florianhockmann avatar xunsun-commits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gremlin.net's Issues

target .net standard

please consider targeting .net standard, given the GA of Azure Cosmos DB this allow using the library of a number of hardware/software platforms

Target .NET Framework 4.5

Gremlin.Net currently only targets .NET Standard 1.3 which is supported by .NET Framework 4.6 and higher. Since many users still use .NET Framework 4.5, it would be a good idea to also target that framework to make Gremlin.Net accessible to those users.

The reason why Gremlin.Net currently doesn't target anything below .NET Standard 1.3 was that some of its dependencies like System.Net.WebSockets only target that version (and the respective .NET Framework 4.6). But since these dependencies where already part of .NET Framework 4.5, it should be possible to add that as a target framework and not use these NuGet packages for that target.

NullReferenceException int the 3.3.4

Hi

I have recently moved to Gremlin.net 3.3.4

I am using the concept

        string gremlinDatabasePath = $"/dbs/{databaseName}/colls/{collectionName}";

        var _server = new GremlinServer(gremlinEndPoint,
                                        port,
                                        enableSsl,
                                        gremlinDatabasePath,
                                        gremlinAuthKey);


      where the gremlinEndPoint is taken from the azure portal and the https:// has been removed

        var client = new GremlinClient(_server,
                                       new GraphSON2Reader(),
                                       new GraphSON2Writer(),
                                       GremlinClient.GraphSON2MimeType);

what causes this exception thatcomes up. I left the Azure.Document.Graph preview API so I have to get it to worlk

Stack StackTrace : at Gremlin.Net.Structure.IO.GraphSON.GraphSONWriter.WriteObject(Object objectData)
at Gremlin.Net.Driver.Connection.d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.Connection.d__81.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Gremlin.Net.Driver.ProxyConnection.<SubmitAsync>d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Gremlin.Net.Driver.GremlinClient.d__61.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Gremlin.Net.Driver.GremlinClientExtensions.<SubmitAsync>d__41.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at MDT.MYA.GraphDataAccess.GremlinExecuter.GremlinCommandExecuter.d__0.MoveNext() in D:\projects\CPH.EA.MYA\Trunk\Projects\MDT.Manar.Graph.DataAccess\GremlinExecuter\GremlinCommandExecuter.cs:line 39

Support Username + Password

Some endpoints are secured using username password connections.

At this moment this is not yet supported by Gremlin.Net.

NullReferenceException int the 3.3.1 and 3.3.2

Hi,

Since I updated to the 3.3.1 and 3.3.2 of the Nuget package, there is a Null Reference Exception.

Here is the stack trace :

   at Gremlin.Net.Driver.Connection.<ReceiveAsync>d__14`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Gremlin.Net.Driver.Connection.<SubmitAsync>d__8`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Gremlin.Net.Driver.ProxyConnection.<SubmitAsync>d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Gremlin.Net.Driver.GremlinClient.<SubmitAsync>d__6`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Gremlin.Net.Driver.GremlinClientExtensions.<SubmitAsync>d__4`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at PartitionedGraph.Program.<ExecuteGremlinServerQueryAsync>d__3.MoveNext()

And the code sample:

string query = "g.V().drop()";

GremlinServer server = new GremlinServer(gremlinServerEndPoint, serverPort, true, $"/dbs/{databaseId}/colls/{collectionId}", primaryKey);
                
using (GremlinClient client = new GremlinClient(server))
{
    IEnumerable<dynamic> results = await GremlinClientExtensions.SubmitAsync<dynamic>(client, requestScript: query);

    foreach (dynamic result in results)
    {
        Console.WriteLine(result.ToString());
    }
}

I know this is not the right version project, but I can not find the original repository for the Nuget package.

This is not blocking, since I can use the 3.2.8 version of the NuGet pacakge.

Thanks in advance.

JsonSerializerSettings can't be set

Hi,

i saved a time in String UTC Format in the Cosmos GraphDB.
As "yyyy-MM-ddTHH:mm:ssZ"

As i retrieved it, i though i would come back as string but it comes back as DateTime.

Is think this comes from the NewtonJsoft SerializerSettings in the Gremlin.net

Is there any way to change this default Settings to my behavior?

I want to do something like this:

	    JsonConvert.DefaultSettings = () => new JsonSerializerSettings
	    {
	        DateParseHandling = DateParseHandling.None,
	        DateFormatString = "yyyy-MM-ddTHH:mm:ssZ"
	    };

Thanks!

Strong-Name Sign Nuget Package

Hello! The latest nuget package 0.2.1 doesn't seem to be strong-name signed.

CSC : error CS1577: Assembly generation failed -- Referenced assembly 'Gremlin.Net' does not have a strong name

Is this an oversight?

Cluster support

Since many graph databases like Titan and DSE Graph consist of more than just one server, Gremlin.Net should be able to send requests to multiple servers.

Round-robin should be used as the default scheduling algorithm for requests.

RequestMessage RequestId always returns a different value

RequestMessage.RequestId returns Guid.NewGuid(); this causes a different ID to be generated any time you call the property getter. For example, I was trying to log request and response IDs, but the value was different every time I inspected it.

I think the value should be assigned during construction, and that value returned, so that it's the same throughout the lifetime of the request. For example:

private readonly Guid _requestId = Guid.NewGuid();

[JsonProperty(PropertyName = "requestId")]
public Guid RequestId => _requestId;

Also, I'm unable to find a reference on this, but I have seen in other implementations that the authentication message uses the same request ID as the original request. This makes sense to me, as it is part of the same logical request.

(WebSocket).CloseAsync issue

When call just CloseAsync it is possible to get exception (Remote side closed the WebSocket connection without complete closing confirmation: WebSocketErrorCode-ConnectionClosedPrematurely-System.Net.WebSockets.WebSocketError):

   в System.Net.WebSockets.WebSocketBase.WebSocketOperation.<Process>d__19.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   в System.Net.WebSockets.WebSocketBase.<CloseAsyncCore>d__56.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в Gremlin.Net.WebSocketConnection.<CloseAsync>d__4.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в Gremlin.Net.Connection.<CloseAsync>d__5.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в Gremlin.Net.ConnectionPool.<TeardownAsync>d__16.MoveNext()

I think, calling CloseOutputAsync should change this situation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.