Settings & Troubleshooting
Settings
To open the Settings dialog, click on on the top right of your screen. Currently, the following settings are available:
- Show Gremlin Step Documentation On Editor Side: If enabled, whilst writing a query in the query editor, autocomplete suggestions will be complemented with the corresponding Apache TinkerPop™ documentation as found on https://tinkerpop.apache.org/docs/current/reference/#graph-traversal-steps.
- Show Warning Before Executing Query using Drop Step: When executing a query resulting in the deletion of elements in your graph, displays a warning prompt to confirm that you want to proceed.
- Code Editor Font Size: The font size in pixel of the Gremlin query editor
- Enable Query Editor Smart Autocomplete: Enabled by default, determines if autocomplete suggestions should be shown whilst typing a query. If disabled, the Gremlin Step Documentation on the editor's side will also not show.
- Use Single Quotes For Autocomplete Suggestions in Query Editor: If enabled, autocomplete suggestions will be filled using single quotes rather than double quotes for string values (e.g. property keys, vertex labels, etc)
OpenAI Settings
OpenAI settings allow configuring how to connect to the OpenAI API and which GPT model to use when using the Text To Gremlin functionality. The following settings are available:
- OpenAI API: The OpenAI API to use, Azure or OpenAI
- OpenAI Endpoint: (Azure only) The Azure OpenAI endpoint to send prompts to
- OpenAI Secret API Key: Required to use OpenAI functionality on G.V(). Your OpenAI Secret Key to connect to the OpenAI API, or Azure API Key to connect to the Azure OpenAI API
- OpenAI Model: The OpenAI GPT Model or Azure Open AI Model Deployment to use to generate Gremlin queries.
Gremlint Settings
Gremlint settings affect the behaviour of the format button in the Query Editor. The following settings are available:
- Place Dots After Line Break: Determines whether to break between steps before or after the dot
- Indentation: Determines the length of indentation to be used in formatting, where indentation unit is a space
- Max Line Length: Determines the maximum allowed length of a line before breaking it
Application Setings
- Enable Dark Mode: Allows toggling between "dark" and "light" modes for the user interface.
- Logging Level: Allows specifying the logging level in place. For more information on logging, see the Troubleshooting section below.
Custom Java Environment Variables Settings
G.V() runs using a Java backend that may require some specific environment variables to be set based on your corporate device requirements or various database driver configurations needs.
If you're needing to set Custom Java Environment Variables when using G.V(), for example to configure gremlin-driver specific functionality, you can do so in the Settings dialog. For each added property, please specify a name and value. This feature is useful for instance to set custom Kerberos configuration file locations or JanusGraph specific custom behaviour.
TIP
When adding or updating Custom Java Environment Variables, changes will take effect immediately. However if removing properties, you will need to restart G.V() for the changes to take effect.
Configuring G.V() to pass requests through a corporate proxy (e.g. WinGate)
Using Custom Java Environment Variables settings, you can instruct G.V() to let all outbound traffic to your databases pass through your corporate proxy. This may be necessary for instance if your database requires corporate proxy authentication for inbound connections. For more details you can refer to The official Oracle Java Documentation
Environment Variable Name | Description |
---|---|
https.proxyHost | The host name of the proxy server to use for HTTPS/WSS scheme requests. |
https.proxyPort | The port of the proxy server to use for HTTPS/WSS scheme requests |
http.proxyHost | The host name of the proxy server to use for HTTP/WS scheme requests |
http.proxyPort | The port of the proxy server to use for HTTP/WS scheme requests |
proxy.user | If basic authentication is required with your proxy server, set this property to the username you would like to use |
proxy.password | If basic authentication is required with your proxy server, set this property to the password of the user specified via the proxy.user property |
TIP
G.V() will automatically apply the relevant proxy configuration based on the scheme of the requests it performs (HTTPS/HTTP or WSS/WS)
Troubleshooting
G.V() collects log data based on the Logging Level specified above for troubleshooting purposes. The logs are not sent anywhere outside of your device, but may be useful for the purpose of investigation in case of any unexpected issue occuring during use of the software. The logs will be stored at the following locations, depending on your operating system:
- Windows: %USERPROFILE%\AppData\Roaming\gdotv\logs\main.log
- macOS: ~/Library/Logs/gdotv/main.log
- Linux: ~/.config/gdotv/logs/main.log
If you encounter issues whilst using G.V(), please email support@gdotv.com.
Clearing G.V()'s Local Cache
If you're experiencing unexpected issues whilst using G.V(), you can clear G.V()'s local cache to attempt resolving the issue. At the bottom of the Settings Dialog, click Clear Locally Cached Information.
G.V() Failing To Start
In some rare cases a corporate proxy or firewall, or sometimes an antivirus can interfere with or slow down G.V()'s functionality and prevent it from starting correctly. This is especially true of antivirus software, and it may be worth updating your antivirus or checking if it is impacting G.V().
See below a list of troubleshooting steps you can take immediately to resolve the issue - it should take 15 minutes maximum. Alternatively you can also contact us directly at support@gdotv.com for assistance.
G.V() runs an HTTP Web Service on your device on a random port and effectively acts as the "back end" of G.V(). This web service is only available on your device and not across the network, and runs on the "localhost" hostname. This service will be refered to moving forward as the "G.V() Backend"
When this issue occurs, you will see the following screen:
Click on Show Diagnostics Information to display further details to assist with troubleshooting.
The Diagnostics Information will display the port number the Java backend is using as well as a localhost URL you can try in your browser to test if a firewall/corporate proxy is blocking the service. The url will be in the following format:
http://localhost:<port-number>/api/application/is_ready
The port is randomly allocated on startup and may differ at every try so when troubleshooting always make sure to check the Diagnostics Information first to find the port number in use.
The first troubleshooting step we advise you to take is to navigate to the URL in the Diagnostics Information described above on your usual browser on the same device. If the G.V() Backend is running as intended, it will display a simple text message on your browser stating the following:
G.V() Backend is ready
If the URL cannot be reached at all, this suggests the G.V() Backend could not be started at all. In this case, follow the troubleshooting instructions under Troubleshooting G.V() Java Process not starting.
If the URL can be reached but is not displaying the text message above, this suggests that the G.V() Backend started successfully but something is blocking access to the endpoint on your device on your browser and likely on the gdotv process too. In this situation, follow the instructions under Troubleshooting Corporate Proxy and Firewall issues.
If the URL can be reached and displays the success message shown above, this suggests that the G.V() Backend started successfully but something is preventing the gdotv process itself from accessing it. In this case, follow the instructions under follow the instructions under Troubleshooting Corporate Proxy and Firewall issues.
TIP
The G.V() software runs two processes:
- gdotv: The main gdotv process which uses the ElectronJS framework. At startup, this process spawns the G.V() backend process described below. The gdotv process connects over HTTP to the Web Service ran by the java process during runtime.
- a java process that points to the JDK Path displayed in the Diagnostics Information, running the JAR Path also shown in the Diagnostics information. This process is a child of gdotv and is connected to by gdotv over HTTP. This process shuts when gdotv is shut.
Troubleshooting G.V() Java Process not starting
G.V() bundles its own optimized Java Development Kit (JDK) to ensure that the correct version of Java is used to run the G.V() Java Backend process. All the executables under the JDK (as well as G.V()'s own executables) are all signed using G.V()'s Extended Validation Code Signing Certificate for Windows and G.V()'s Apple Developer Certificate for MacOS and should be trusted on the device by default.
It is however possible that a corporate antivirus (AV) software may interfere with the JDK nonetheless, albeit highly unlikely. The Diagnostics Information dialog will display information about the JDK path that you can use to test if the executable is indeed getting blocked by AV software under the "JDK Path" line item.
Additionally, the Diagnostics Information will display the path of the "JAR" file of the G.V() Backend. The JAR file is the compiled Java Package used to run the G.V() Backend
To test that the JDK is allowed to run on your device, copy the value of the "JDK Path" line item and paste it in a command line interface/terminal of your choice on the device, then press enter. If the JDK is running as intended and not getting blocked, it should display a "Usage" message on your terminal.
We recommend that you use the values of the JDK and JAR Path line items in the "Diagnostics Information" error dialog to check if any AV or other security software is reporting the blocking of these binaries and take action to have them allowed.
Troubleshooting Corporate Proxy and Firewall issues
If you suspect a corporate proxy is responsible for G.V() failing to connect to its Backend, you should investigate whether any software is interfering with the gdotv process itself on your device. In the Diagnostics Information, a line-item called last gdotv application readiness check response shows the exact output of the HTTP connectivity test from the gdotv process to the G.V() Backend.
If the output shows an HTTP status code that isn't 2xx or 5xx, this strongly indicates a corporate proxy interference. In this instance, you should provide this information to your proxy team to lift the block from the gdotv process to localhost HTTP services hosted on your device.
If the output shows an HTTP status code of 2xx or 5xx, this indicates another issue which may require further investigation. In this instance, contact us at support@gdotv.com for assistance.