FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 1 of 7
FABRIC V7.1.0 RELEASE NOTES
These Release Notes describe the new features in Fabric release V7.1.0 and list bugs that have
been fixed since the V7.0.1 release.
Certification of this Fabric release is based on:
Cassandra version 4.0.3
SQLite version 3.39.2
Open JDK version jdk-17.0.3.1
Kafka version 3.2.0
Confluent Kafka version 7.2.1
OrientDB - 3.1.3-tp3 and 3.2.4-tp3
Elasticsearch - 7.16+ and 8.5.3
AWS OpenSearch - 1.3.4
MAIN FEATURES AND IMPROVEMENTS
1. MTable
An MTable is an object created in the Fabric memory upon the deployment, from a CSV
file. The purpose of an MTable is to keep reference data as part of the Fabric project and
to enable a fast in-memory data lookup at run-time. It is recommended to use MTables
for small static lists of reference data.
The data lookup can be performed by one or several MTable keys. The output is the whole
MTable row. On top of it, individual result fields can be returned as well.
The search index is created on-the-fly during the first selection, based on the search keys.
MTables can be used by:
o New Broadway actors (described further in this document).
o Various Java methods, to be invoked from Web Services, LU functions, etc.
o Graphit via a function node, by using JavaScript methods (same as Java methods).
LIST MTABLE is a new LIST command, for listing deployed MTables.
https://support.k2view.com/Academy/articles/09_translations/06_mtables_overview.html
2. Data Generators
Fabric now separates data generation from the hashing and caching capabilities (masking).
New Broadway actors that support this feature are described further in this document.
https://support.k2view.com/Academy/articles/26_fabric_security/06_data_masking.html
FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 2 of 7
3. Broadway
General
You can now create a folder under Broadway, to better organize your flows. A flow name
must be unique across all folders in the same LU.
You can tag a flow and add a flow description.
o A flow, created in a folder, is automatically tagged with a folder name. A tag can
be updated. Multiple tags per flow are supported.
https://support.k2view.com/Academy/articles/19_Broadway/33_flow_properties.html
Flow/Actor unification has been introduced, providing the following capabilities:
o An actor can now invoke either an inner flow or another actor. An example of that
is the InneFlow actor or a new Masking actor which is described further in this
document. To support that, the drop-down list that contains the flows is replaced
by a pop-up window, which opens by clicking on the Expand icon:
o An inner flow can now be added to a flow from the Add Actor pop-up window by
switching the radio button from Actor to Flow (top-right corner).
http://support.k2view.com/Academy/articles/19_Broadway/22_broadway_flow_inner_flows.html
The Link Editor has been enhanced with the ability to set the Link Type:
You can now update the Actor's input argument type from the default editor to another
one, by selecting Set Editor action on the Actor’s input parameter:
FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 3 of 7
=>
The link can now be dragged from one Actor’s input parameter to another, which is
indicated by a blue dot at the end of the link:
Modified Actors
MaskingSSN actor continues to receive an input to the 'value' field. It recognizes the non-
numeric characters and turns them to the delimiter, keeping the same format as in the
original value. If there are no non-numeric characters in the input, no delimiter will be
included in the masked value. For example:
o The input value = '123456789' will be masked into 987654321
o The input value = '123-45-6789' will be masked into 987-65-4321
o The input value = '123&45&6789' will be masked into 987&65&4321
SourceDbQuery actor has a new input rowsGen eratorDistr ibution , used to randomize the
number of rows per parent row. This input is applicable only for data generation of
synthetic entities.
New Actors
The following actors are provided for MTables:
o MTableLookup, MTableRandom for fetching data from an MTable by a given
key(s) or without any key.
o MTableLoad for either creating a new MTable dataset or replacing an existing
one in the Fabric memory.
https://support.k2view.com/Academy/articles/19_Broadway/actors/09_MTable_actors.html
The following actors are provided for Data Generation and Masking:
o The new Generators category (tag) includes a list of actors for generating various
types of fake but valid values such as: SSN, email, credit card number. For
instance, RandomDistribution actor generates random values according to a given
distribution. The supported distributions are: Normal, Uniform and Weighted.
RandomSSN actor generates a valid SSN.
FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 4 of 7
o RowsGenerator a new actor for generating random rows given a set of parent
rows, a distribution and an inner flow. It relies on the inner flow for generating the
actual data rows.
o Masking a new actor for generating random/token data and keeping them
mapped to the original value input. This actor can wrap any data generation actor
and add the hashing and caching capabilities on the top of it.
o Broadway keeps the existing masking actors for backward compatibility.
https://support.k2view.com/Academy/articles/19_Broadway/actors/07a_data_generators_actors.html
InnerFlowDynamic actor extends an InnerFlow actor. The actor can receive a flow name
and a map of input arguments with their values at run-time. The output is a map of an
inner flow's output arguments and their respective values.
SysEnv actor reads an environment variable, either from the Java properties (-D) or from
the system environment. If a variable name is not provided, the actor returns a map of all
Java and system properties.
PopulationCount actor handles the population count and statistics in a population flow
that doesn’t use the SourceDbQuery actor (but rather the DbCommand actor), by
populating the _k2_objects_info table.
Broadway Command
The BROADWAY command has been enhanced with the new result structure CURSOR.
o When RESULT_STRUCTURE = CURSOR, the first flow's output is transformed into a
table. Other outputs are being disregarded.
https://support.k2view.com/Academy/articles/02_fabric_architecture/04_fabric_commands.html
4. Reference Tables – Backing up and Restoring
It is now possible to back up reference tables by schemas or 'ALL' (i.e., defining all
schemas for a backup). This capability enables fast synchronization of the reference tables
data to a newly joined node by an automatic download of a previously created backup. In
addition, if the node reference tables data get out of sync, restoring it can be performed
manually. The following commands are available:
o REF_BACKUP is a new command, for backing up a snapshot of the specified
CommonDB schema and placing it into the configured storage.
o REF_BACKUP_DELETE is a new command, for deleting a backup of the specified
CommonDB schema from the configured storage.
o REF_BACKUP_DOWNLOAD is a new command, for downloading a snapshot of the
specified CommonDB schema from the configured storage into the specified path.
o LIST REF_BACKUPS is a new command, for listing the ref schema backups.
https://support.k2view.com/Academy/articles/22_reference(commonDB)_tables/03_fabric_commonD
B_runtime.html
FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 5 of 7
5. Graphit
The Graphit editor offers a quick and efficient way to find a text within the currently
opened file, including closed nodes. To do so, you can type the keywords into the search
box located in the top toolbar. Once entered, the search box expands into a search result
widget, displaying all the occurrences of the searched text.
https://support.k2view.com/Academy/articles/15_web_services_and_graphit/17_Graphit/02_graphit_
basic_editing.html#search
6. Miscellaneous
Secret Manager Integration Fabric now supports integration with Secret Manager
services, so that secrets - like passwords, used in interfaces and environments - will not be
stored in Fabric itself, but rather their reference IDs. Integration with various external
Secret Management providers is supported:
o AWS Secret Manager
o HashiCorp Vault
o Azure Key Vault
https://support.k2view.com/Academy/articles/26_fabric_security/04a_secret_manager.html
The following new non-DB interface types are now supported by Fabric and can be used
by the Interface Listener as well as all file actors (such as FileRead) to detect new files
added to the storage:
o Amazon S3 Storage
o Azure Blob Storage
o Google Cloud Storage
https://support.k2view.com/Academy/articles/24_non_DB_interfaces/01_nondb_interfaces_overview.
html
SET CLUSTER_DISTRIBUTE_AFFINITY = <AFFINITY> is a new command, for distributing the
subsequent command to the specified affinity. Use ALL to distribute the subsequent
command to all live nodes.
SET INSTANCE_TTL command has been enhanced with the option to avoid saving the LUI
in Fabric (instead of saving and deleting) if the TTL is set to zero. Note that when the TTL is
set to zero, Fabric does not clean an older version of the LUI if exists. The TTL must be
bigger than zero to schedule an LUI cleanup from Fabric.
LIST BROADWAY_FLOWS/BF command can now present not only the flows but also the
actors. The command has been enhanced with the following flags and capabilities:
o The population flows are now excluded from LIST BF command’s results.
FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 6 of 7
o [SHOW=FLOW/ACTOR/CORE_ACTOR/ALL] when specified, the result includes
only the selected type. Default is FLOW. When SHOW=ACTOR, only the project
actors are displayed. When SHOW=CORE_ACTOR, only the core actors are
displayed. When SHOW=ALL, both the project’s flows and actors (but not the core
actors) are displayed.
o [TAG=NAME] when specified, the result is filtered by a given tag.
o [FILTER=<REGEX>] when specified, the result is filtered by a given expression.
A new BATCH_READ permission has been added. It grants a read-only permission on
batches (the existing BATCH permission grants read and write permissions). The user
with BATCH_READ permission:
o Can view and monitor all batches (e.g., via the Batch Monitor screen).
o Cannot start or retry a batch, cancel batch, change number of workers.
BATCH command has been enhanced with the ability to define a subset, which is based on
a Broadway command result set. The syntax is as follows:
o BATCH <LUT> from fabric using (<BROADWAY>)
o The Broadway command, executed within the ‘using’ clause, will run as if the
RESULT_STRUCTURE is set to CURSOR.
Web Services improvement Fabric now adopts the “Agent–driven Negotiation"
methodology. When a web-service is called, it examines the request accept header and
responses accordingly.
o For example, when using a browser to call to API, Fabric responds with an XML
format because it sends XML as accept header and not JSON.
o Note that if the accept header is not sent, the default response is a JSON, to date.
o In addition, Fabric now constantly sends a response type header, hinting at what
the request caller would get back.
FABRIC RELEASE NOTES
© 2023 K2VIEW. All Rights Reserved. Page 7 of 7
RESOLVED ISSUES
When a message includes the change in a non-CDC column, the CDC sends the message
while it shouldn’t because the CDC columns haven’t changed. The problem has been
resolved.
Ticket 33009 Customize a message in RejectInstance. The problem has been resolved.
Ticket 33087 Broadway FileWrite actor gets stuck on large files. The problem has been
resolved.
Ticket 33240 The Batch monitor shows 100% completion although there is an instance in
sync (status is in process). The problem has been resolved.
Ticket 33247 LU Table population is failing on Child tables with sources such as
Cassandra and is having multiple values coming from Parent table. The problem has been
resolved.
Ticket 33394 The column delimiter does not support recurring characters. The problem
has been resolved.
Ticket 33445 Broadway Population (w/o SourceDbQuery) doesn't update the
number_of_records entry in _k2_objects_info. The problem has been resolved.
Ticket 33855 The Broadway FileWrite actor does not write files bigger than 1KiB to S3
bucket. The problem has been resolved.
Ticket 33863 Partition keys are identified as clustering keys in DbCreateTable actor. The
problem has been resolved.
Ticket 34808 Broadway Subscribing to broker:memory does not stop subscription when
Broadway is stopped. The problem has been resolved.
Ticket 34445 The WS framework throws a "required parameter missing" error for GET
request if Content-Type: application/json. The problem has been resolved.
Ticket 34441 Fabric packaging - long path. The problem has been resolved.
Ticket 33944 - Graphit Actor not showing inputs automatically. The problem has been
resolved.
Ticket 34241 Graphit - Permission on <name>.<version>.<verb> (e.g.
GetCustomer.v1.GET) fails in Admin Web (Free Trial). The problem has been resolved.