Built-in Virtuoso Demo License

Why?

Users have reported challenges in accessing and installing a separate license file, which have detracted from their initial focus: experiencing the unique prowess of Virtuoso.

This new kind of courtesy and evaluation license offers more flexibility when evaluating the Enterprise Edition of Virtuoso.

What?

The new built-in license has the following attributes for Virtuoso version 7.xx.xxxx and later, including Virtuoso 8.x:

  • number of concurrent ODBC/JDBC/.NET connections: 1
  • number of concurrent HTTP threads: 1
  • number of records fetched in SQL: 25
  • number of records fetched in SPARQL: 25
  • expires after #minutes: 10
  • cluster module: disabled
  • column store: enabled

The courtesy license for Virtuoso 8.x has additional attributes:

  • spin module: enabled
  • replication: enabled
  • ACLs: enabled
  • VDB: enabled

How?

This courtesy license kicks in when any of the following conditions are met:

  • license manager (oplmgr) is not running
  • license manager (oplmgr) is not responding
  • license file (virtuoso.lic) is not found
  • license file (virtuoso.lic) is for an older version of Virtuoso
  • license file (virtuoso.lic) is for another platform (operating system)
  • license file (virtuoso.lic) has expired

The virtuoso.log will reflect the problem, as in the following example:

13:04:00 OpenLink Virtuoso Universal Server
13:04:00 Version 07.20.3219-pthreads for Linux as of May  8 2017
13:04:00 uses parts of OpenSSL, PCRE, Html Tidy
13:04:00 
13:04:00 Unable to contact the OpenLink License Manager
13:04:00 Please make sure it is installed and running on your system
13:04:00 
13:04:00 Demo license enabled
13:04:00 
13:04:00 Database version 3126
13:04:00 SQL Optimizer enabled (max 1000 layouts)
13:04:01 Compiler unit is timed at 0.000128 msec

ODBC, JDBC, OLE DB, .NET client connections

When any connection request is received by the Virtuoso server, a check is made for license expiration. After license expiration, an appropriate error message is passed to the client application to indicate the server is out of licensed connections:

$ isql 1112
*** Error 08004: VD [Virtuoso Server]LI100: Number of licensed connections exceeded
at line 0 of Top-Level:

Additionally, while running with this demo license, all SQL statements (including SPASQL a/k/a SPARQL–in–SQL) are limited to return a maximum of 25 rows.

HTTP connections

When any HTTP connection request is received by the Virtuoso server, a check is made for license expiration. After license expiration, an appropriate error message is passed to the HTTP client to indicate the server is (temporarily) not available, due to license expiration:

Error HTTP/1.1 503 Service Unavailable
License expired
    URI  = '/!sparql/'

Additionally, while running with this demo license, all SPARQL statements are limited to return a maximum of 25 triples. The X-SPARQL-MaxRows header is returned to signal a possible truncation of data.

VAD packages, such as the Conductor, will not be affected by this 25 row maximum, so users will still be able to install/upgrade VAD packages, etc., without the possibility of package truncation.

Frequently Asked Questions

How will the various triggering conditions be reported?

Demo license enabled will be preceded by a message naming the triggering condition in the Virtuoso Log file. The same will be seen on stdout/stderr when running in foreground mode.

Are there any other license failure conditions which do not trigger the demo license?

No.

Related