Skip to content

Commit

Permalink
Revert overwritten conflicts (#1356)
Browse files Browse the repository at this point in the history
#1320 had merge conflicts which
lead to [some changes going
missing](#1320 (comment))

This PR reinstates these.

Specifically:
- reverted the problematic commit locally via GitHub desktop
- discarded any security-related changes
- leaving only the non-security changes to be reverted


[Related](https://hazelcast.slack.com/archives/C035HQET5/p1730377502391329).
  • Loading branch information
JackPGreen authored Oct 31, 2024
1 parent 9a5c2e5 commit e6ed3b5
Show file tree
Hide file tree
Showing 22 changed files with 223 additions and 55 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/action-updater.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4.1.4
- uses: actions/checkout@v4
with:
# [Required] Access token with `workflow` scope.
token: ${{ secrets.ACTION_UPDATER }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/adoc-html.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4.1.4
- uses: actions/setup-node@v4.0.2
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Convert adoc
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/backport-5-0.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/backport-5-1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/backport-5-2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/backport-5-3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/backport-5-4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/backport.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/forwardport.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
steps:

- name: checkout
uses: actions/checkout@v4.1.4
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/to-plain-html.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4.1.4
- uses: actions/checkout@v4
with:
token: ${{ secrets.TO_HTML }}
- name: Asciidoc to html
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4.1.4
- uses: actions/setup-node@v4.0.2
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Check for broken internal links
Expand Down
7 changes: 3 additions & 4 deletions docs/modules/clients/pages/memcache.adoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
= Memcache Client

NOTE: Hazelcast Memcache Client only supports ASCII protocol. Binary Protocol is not supported.

A Memcache client written in any language can talk directly to a Hazelcast cluster.
No additional configuration is required.

To be able to use a Memcache client, you must enable
the Memcache client request listener service using either one of the following configuration options:
NOTE: Hazelcast Memcache Client only supports ASCII protocol. Binary Protocol is not supported.

To be able to use a Memcache client, you must enable the Memcache client request listener service using either one of the following configuration options:

1 - Using the `network` configuration element:

Expand Down
2 changes: 1 addition & 1 deletion docs/modules/clusters/partials/ucn-migrate-tip.adoc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
CAUTION: {ucd} has been deprecated and will be removed in the next major version. To continue deploying your user code after this time, {open-source-product-name} users can either upgrade to {enterprise-product-name}, or add their resources to the Hazelcast member class paths. Hazelcast recommends that {enterprise-product-name} users migrate their user code to use {ucn}. For further information on migrating from {ucd} to {ucn}, see the xref:clusters:ucn-migrate-ucd.adoc[] topic.
CAUTION: {ucd} has been deprecated and will be removed in the next major version. To continue deploying your user code after this time, {open-source-product-name} users can either upgrade to {enterprise-product-name}, or add their resources to the Hazelcast member class paths. Hazelcast recommends that {enterprise-product-name} users migrate their user code to use {ucn} for all purposes other than Jet stream processing. For further information on migrating from {ucd} to {ucn}, see xref:clusters:ucn-migrate-ucd.adoc[].
18 changes: 16 additions & 2 deletions docs/modules/data-structures/pages/map-config.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

{description}

[[map-configuration-defaults]]
== Hazelcast Map Configuration Defaults

The `hazelcast.xml`/`hazelcast.yaml` configuration included with your Hazelcast distribution includes the following default settings for maps.
Expand Down Expand Up @@ -33,9 +34,22 @@ For details on map backups, refer to xref:backing-up-maps.adoc[].

For details on in-memory format, refer to xref:setting-data-format.adoc[].

== Modifying the Default Configuration
== The Default (Fallback) Map Configuration
When a map is created, if the map name matches an entry in the `hazelcast.xml`/`hazelcast.yaml` file, the values in the matching entry are used to overwrite the initial values
discussed in the <<map-configuration-defaults,Map Configuration Defaults>> section.

You can create a default configuration for all maps for your environment by modifying the map configuration block named "default" in your `hazelcast.xml`/`hazelcast.yaml` file. In the following example, we set expiration timers for map entries. Map entries that are idle for an hour will be marked as eligible for removal if the cluster begins to run out of memory. Any map entry older than six hours will be marked as eligible for removal.
Maps that do not have any configuration defined use the default configuration. If you want to set a configuration that is valid for all maps, you can name your configuration as `default`. A user-defined default configuration applies to every map that does not have a specific custom map configuration defined with the map’s name. You can also use wildcards to associate your configuration with multiple map names. See the [configuration documentation](https://docs.hazelcast.com/hazelcast/5.5/configuration/using-wildcards) for more information about wildcards.

When a map name does not match any entry in the `hazelcast.xml`/`hazelcast.yaml` file then:

- If the `default` map configuration exists, the values under this entry are used to overwrite initial values. Therefore, `default` serves as a fallback.

- If a `default` map configuration does not exist, the map is created with initial values as discussed in <<map-configuration-defaults,Map Configuration Defaults>>.


== Modifying the Default (Fallback) Configuration

In the following example, we set expiration timers for dynamically created maps that lack a named configuration block. Map entries that are idle for an hour will be marked as eligible for removal if the cluster begins to run out of memory. Any map entry older than six hours will be marked as eligible for removal.

For more on entry expiration, go to xref:managing-map-memory.adoc[Managing Map Memory].

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ image:ROOT:feast_batch.png[Feast batch wokflow]

You will need the following ready before starting the tutorial:

* Hazelcast CLC. link:https://docs.hazelcast.com/clc/latest/install-clc[Installation instructions]
* Hazelcast CLC (see link:https://docs.hazelcast.com/clc/latest/install-clc[Install CLC])
* A recent version of Docker and Docker Compose

To set up your project, complete the following steps:
Expand Down
4 changes: 2 additions & 2 deletions docs/modules/integrate/pages/integrate-with-feast.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,5 @@ To use Feast with Hazelcast, you must do the following:

You can also work through the following tutorials:

* Get Started with Feature Store
* Feature Compute and Transformation
* xref:integrate:feature-engineering-with-feast.adoc[Get started with Feast streaming]
* xref:integrate:streaming-features-with-feast.adoc[Get started with Feast feature engineering]
3 changes: 1 addition & 2 deletions docs/modules/integrate/pages/reliable-topic-connector.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ used as a data sink within a pipeline.

== Installing the Connector

The map connector is included in the full and slim
distributions of Hazelcast.
This connector is included in the full and slim distributions of Hazelcast.

== Permissions
[.enterprise]*{enterprise-product-name}*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ image:ROOT:feast_streaming.png[Feast streaming wokflow]

You will need the following ready before starting the tutorial:

* Hazelcast CLC - link:https://docs.hazelcast.com/clc/latest/install-clc[Installation instructions]
* Hazelcast CLC (see link:https://docs.hazelcast.com/clc/latest/install-clc[Install CLC])
* A recent version of Docker and Docker Compose

To set up your project, complete the following steps:
Expand Down Expand Up @@ -349,6 +349,7 @@ Outputs something similar to:
]
}
----
== Summary
In this tutorial, you learned how to set up a feature engineering project that uses Hazelcast as the online store.
Expand Down
107 changes: 92 additions & 15 deletions docs/modules/mapstore/pages/configuring-a-generic-maploader.adoc
Original file line number Diff line number Diff line change
@@ -1,16 +1,37 @@
= Using the Generic MapLoader
= Using the generic MapLoader
:description: With the xref:working-with-external-data.adoc#options[generic MapLoader], you can configure a map to cache data from an external system. This topic includes an example of how to configure a map with a generic MapLoader that connects to a MySQL database.
:page-beta: false

{description}

NOTE: The objects created in the distributed map are stored as GenericRecord. You can use the `type-name` property to store the data in a POJO (Plain Old Java Object).

For a list of all supported external systems, including databases, see available xref:external-data-stores:external-data-stores.adoc#connectors[data connection types].

== Before you Begin
== Before you begin

You need a xref:external-data-stores:external-data-stores.adoc[data connection] that's configured on all cluster members.

== Quickstart Configuration
== Add dependencies

If you are using a Hazelcast JAR file, you need to ensure the following is added to your classpath:

[source,xml]
----
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-sql</artifactId>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast-mapstore</artifactId>
</dependency>
----

NOTE: If you are using the slim distribution, you need to add `hazelcast-mapstore`. If you are using MongoDb, you also need to add `hazelcast-jet-mongodb`.

== Quickstart configuration

This example shows a basic map configuration that uses a data connection called `my-mysql-database`. See xref:data-structures:map.adoc[] for the details of other properties that you can include in your map configuration.

Expand Down Expand Up @@ -70,11 +91,11 @@ instance().getConfig().addMapConfig(mapConfig);
<2> The name of your data connection.

[[mapping]]
== SQL Mapping for the Generic MapLoader
== SQL mapping for the generic MapLoader

When you configure a map with the generic MapLoader, Hazelcast creates a xref:sql:mapping-to-jdbc.adoc[SQL mapping with the JDBC connector]. The name of the mapping is the same name as your map prefixed with `__map-store.`. This mapping is used to read data from the external system, and it is removed whenever the configured map is removed. You can also configure this SQL mapping, using <<data-connection-ref, configuration properties>>.
When you configure a map with the generic MapLoader, Hazelcast creates a xref:sql:mapping-to-jdbc.adoc[SQL mapping with the JDBC connector]. The name of the mapping is the same name as your map prefixed with `__map-store.`. This mapping is used to read data from the external system, and is removed whenever the configured map is removed. You can also configure this SQL mapping, using <<data-connection-ref, configuration properties>>.

== Configuration Properties for the Generic MapLoader
== Configuration properties for the generic MapLoader

These configuration properties allow you to configure the generic MapLoader and its SQL mapping.

Expand Down Expand Up @@ -373,26 +394,82 @@ mapConfig.setMapStoreConfig(mapStoreConfig);
--
====

|[[columns]]`type-name`
|The type name of the compact GenericRecord. Use this property to map your record to an existing domain class.

|
The name of the map.
|

[tabs]
====
XML::
+
--
[source,xml]
----
<hazelcast>
<map name="myMapName">
<map-store enabled="true">
<class-name>com.hazelcast.mapstore.GenericMapStore</class-name>
<properties>
<property name="data-connection-ref">my-mysql-database</property>
<property name="type-name">org.example.Person</property>
</properties>
</map-store>
</hazelcast>
----
--
YAML::
+
--
[source,yaml]
----
hazelcast:
map:
mymapname:
map-store:
enabled: true
class-name: com.hazelcast.mapstore.GenericMapStore
properties:
data-connection-ref: my-mysql-database
type-name: org.example.Person
----
--
Java::
+
--
[source,java]
----
MapConfig mapConfig = new MapConfig("myMapName");
MapStoreConfig mapStoreConfig = new MapStoreConfig();
mapStoreConfig.setClassName("com.hazelcast.mapstore.GenericMapStore");
mapStoreConfig.setProperty("data-connection-ref", "my-mysql-database");
mapStoreConfig.setProperty("type-name", "org.example.Person");
mapConfig.setMapStoreConfig(mapStoreConfig);
----
--
====

|===

== Supported backends

GenericMapStore needs a SQL Connector that supports `SELECT`, `UPDATE`, `SINK INTO` and `DELETE` statements.
The generic MapStore needs a SQL Connector that supports `SELECT`, `UPDATE`, `SINK INTO` and `DELETE` statements.

Officially supported connectors:

- JDBC Connector
* supports MySQL, PostgreSQL.
* requires JDBC driver on the classpath
- MongoDB Connector
* make sure you have `hazelcast-jet-mongodb` artifact included on the classpath.
- MySQL, PostgreSQL, Microsoft SQL Server, Oracle (it uses JDBC SQL Connector).
- MongoDB (make sure you have `hazelcast-jet-mongodb` artifact included on the classpath).

== Related Resources
== Related resources

- To monitor MapStores for each loaded entry, use the `EntryLoadedListener` interface. See the xref:events:object-events.adoc#listening-for-map-events[Listening for Map Events section] to learn how you can catch entry-based events.

- xref:mapstore-triggers.adoc[].

== Next Steps
== Next steps

See the MapStore xref:configuration-guide.adoc[configuration guide] for details about configuration options, including caching behaviors.
See the xref:configuration-guide.adoc[MapStore configuration guide] for details about configuration options, including caching behaviors.
Loading

0 comments on commit e6ed3b5

Please sign in to comment.