Adjusting Limits
Since the volume of metadata that is stored in the repository can be enormous, some client queries might generate a response too large for the server or client to handle. Therefore, set several kinds of limits to provide rapid metadata accessibility for all users.
Limit configuration is available on the Manta Admin UI page
Configurations > Server > Common > Viewer Limits. You must restart the server to make the new settings effective.
First, it is possible to limit the maximum size of a server response. This size is counted from the count of edges, proxy,
and full vertices, where each object has a weight according to its average data size. If a response is greater than the maximum, the server tries to adjust the query to send a smaller response (that is, by decreasing the query depth or detail).
You
can set these properties.
-
limits.maxSize
–maximum weighted sum of all objects in a response to be sent to the client -
limits.edgeCoefficient
– weight of one edge -
limits.proxyCoefficient
– weight of one proxy vertex (this vertex is not visible, so less data is sent, but it is necessary for the client application; it includes, for example, filtered vertices) -
limits.fullCoefficient
– weight of one full vertex (this vertex is visible, containing all data including the name, type, and all its attributes)
You can even limit a user query before the search for all objects in a data flow starts by limiting the maximum number of leaf elements contained in all selected elements. For example, if a user selects a whole database with many tables and their
columns, it is obvious that the resulting data flow will be huge and impossible to show. You can adjust this limit by setting the limits.maximumStartNodes
property to data flow visualization and the limits.maximumStartNodesExport
property to direct CSV export.
When a user performs an initial query, usually only part of the whole data flow is shown. However, if two verticles that are connected by data flow through several other invisible verticles are displayed, an aggregated edge is shown between them
to show the relationship. In some cases, there should be many more aggregated edges shown than what is bearable for the server or client (even more aggregated edges than the real edges representing a direct flow between the two vertices), so it
is better not to show them. You can adjust the maximum number of aggregated edges by setting the
limits.maximumAggEdges
property, counting edges in one direction.
Finally, a user can undo several actions on a data flow graph, but since these historical states must be stored on both the client and server sides, it is necessary to limit the maximum number of undo steps through the limits.maximalUndo
property.