RodionSmolnikovGG commented on a change in pull request #9612:
URL: https://github.com/apache/ignite/pull/9612#discussion_r762013101
##########
File path:
modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs
##########
@@ -478,13 +491,37 @@ internal void Write(IBinaryRawWriter writer)
/// Gets or sets the size of a memory chunk reserved for system needs.
/// </summary>
[DefaultValue(DefaultSystemRegionInitialSize)]
- public long SystemRegionInitialSize { get; set; }
+ public long SystemRegionInitialSize
+ {
+ get => SystemDataRegionConfiguration?.InitialSize ??
SystemDataRegionConfiguration.DefaultInitialSize;
+ set
+ {
+ if (SystemDataRegionConfiguration == null)
+ {
+ SystemDataRegionConfiguration = new
SystemDataRegionConfiguration();
+ }
+
+ SystemDataRegionConfiguration.InitialSize = value;
+ }
+ }
/// <summary>
/// Gets or sets the maximum memory region size reserved for system
needs.
/// </summary>
[DefaultValue(DefaultSystemRegionMaxSize)]
- public long SystemRegionMaxSize { get; set; }
+ public long SystemRegionMaxSize
+ {
+ get => SystemDataRegionConfiguration?.MaxSize ??
SystemDataRegionConfiguration.DefaultMaxSize;
+ set
+ {
+ if (SystemDataRegionConfiguration == null)
+ {
+ SystemDataRegionConfiguration = new
SystemDataRegionConfiguration();
Review comment:
Strange decidion, but ok
##########
File path:
modules/core/src/main/java/org/apache/ignite/configuration/SystemDataRegionConfiguration.java
##########
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ignite.configuration;
+
+import java.io.Serializable;
+import org.apache.ignite.internal.util.typedef.internal.A;
+
+/**
+ * This class allows defining system data region configuration with various
parameters for Apache Ignite
+ * page memory (see {@link DataStorageConfiguration}.
+ * This class is similiar to {@link DataRegionConfiguration}, but with
restricted set of properties.
+ */
+public class SystemDataRegionConfiguration implements Serializable {
+ /** Serial version uid. */
+ private static final long serialVersionUID = 0L;
+
+ /** Default initial size of a memory chunk for the system cache (40 MB). */
+ private static final long DFLT_SYS_REG_INIT_SIZE = 40L * 1024 * 1024;
+
+ /** Default max size of a memory chunk for the system cache (100 MB). */
+ private static final long DFLT_SYS_REG_MAX_SIZE = 100L * 1024 * 1024;
+
+ /** Initial size of a memory chunk reserved for system cache. */
+ private long initSize = DFLT_SYS_REG_INIT_SIZE;
+
+ /** Maximum size of a memory chunk reserved for system cache. */
+ private long maxSize = DFLT_SYS_REG_MAX_SIZE;
+
+ /**
+ * Initial size of a data region reserved for system cache.
+ *
+ * @return Size in bytes.
+ */
+ public long getInitialSize() {
+ return initSize;
+ }
+
+ /**
+ * Sets initial size of a data region reserved for system cache.
+ *
+ * Default value is {@link #DFLT_SYS_REG_INIT_SIZE}
+ *
+ * @param initSize Size in bytes.
+ * @return {@code this} for chaining.
+ */
+ public SystemDataRegionConfiguration setInitialSize(long initSize) {
+ A.ensure(initSize > 0, "System region initial size can not be less
zero.");
Review comment:
mistape - less THAN zero
##########
File path:
modules/core/src/main/java/org/apache/ignite/configuration/SystemDataRegionConfiguration.java
##########
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ignite.configuration;
+
+import java.io.Serializable;
+import org.apache.ignite.internal.util.typedef.internal.A;
+
+/**
+ * This class allows defining system data region configuration with various
parameters for Apache Ignite
+ * page memory (see {@link DataStorageConfiguration}.
+ * This class is similiar to {@link DataRegionConfiguration}, but with
restricted set of properties.
+ */
+public class SystemDataRegionConfiguration implements Serializable {
+ /** Serial version uid. */
+ private static final long serialVersionUID = 0L;
+
+ /** Default initial size of a memory chunk for the system cache (40 MB). */
+ private static final long DFLT_SYS_REG_INIT_SIZE = 40L * 1024 * 1024;
+
+ /** Default max size of a memory chunk for the system cache (100 MB). */
+ private static final long DFLT_SYS_REG_MAX_SIZE = 100L * 1024 * 1024;
+
+ /** Initial size of a memory chunk reserved for system cache. */
+ private long initSize = DFLT_SYS_REG_INIT_SIZE;
+
+ /** Maximum size of a memory chunk reserved for system cache. */
+ private long maxSize = DFLT_SYS_REG_MAX_SIZE;
+
+ /**
+ * Initial size of a data region reserved for system cache.
+ *
+ * @return Size in bytes.
+ */
+ public long getInitialSize() {
+ return initSize;
+ }
+
+ /**
+ * Sets initial size of a data region reserved for system cache.
+ *
+ * Default value is {@link #DFLT_SYS_REG_INIT_SIZE}
+ *
+ * @param initSize Size in bytes.
+ * @return {@code this} for chaining.
+ */
+ public SystemDataRegionConfiguration setInitialSize(long initSize) {
+ A.ensure(initSize > 0, "System region initial size can not be less
zero.");
+
+ this.initSize = initSize;
+
+ return this;
+ }
+
+ /**
+ * Maximum data region size reserved for system cache.
+ *
+ * @return Size in bytes.
+ */
+ public long getMaxSize() {
+ return maxSize;
+ }
+
+ /**
+ * Sets maximum data region size reserved for system cache. The total size
should not be less than 10 MB
+ * due to internal data structures overhead.
+ *
+ * Default value is {@link #DFLT_SYS_REG_MAX_SIZE}.
+ *
+ * @param maxSize Maximum size in bytes for system cache data region.
+ * @return {@code this} for chaining.
+ */
+ public SystemDataRegionConfiguration setMaxSize(long maxSize) {
+ A.ensure(maxSize > 0, "System region max size should be greater that
zero.");
Review comment:
mistape - greater thaN zero. And maybe better to say "must be greater..."
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]