From a brief review of the source code, I believe that:

        DiskInitFile.OPLOG_MAGIC_SEQ_ID is used for *.if files
        Oplog.OPLOG_MAGIC_SEQ_ID is used for all other oplog file types

HTH,
Anthony




> On Jun 21, 2018, at 1:36 PM, Kirk Lund <kl...@apache.org> wrote:
> 
> Please help me understand OPLOG_MAGIC_SEQ_ID in the oplog code...
> 
> There is a constant called OPLOG_MAGIC_SEQ_ID which is a byte representing
> the beginning of every oplog file. Makes sense so far.
> 
> There are two different constants called OPLOG_MAGIC_SEQ_ID each with a
> different value. One is in Oplog.java and the other is in DiskInitFile.java
> (IF). The javadocs of each seems to imply that every oplog type has its own
> different magic number. But the javadocs also list CRF, DRF, KRF, IF (and
> IRF but only in Oplog.java) as the Oplog types. If that's the explanation
> for why we have two different values, then should we have a different
> constant for each Oplog file type?
> 
> I started refactoring all of these byte constants into an Enum so that I
> can use Enum names in trace log statements instead of cryptic byte codes
> but then found some of these constants are defined in more than one place
> with different values.
> 
> Oplog.java:
> 
>  /**
>   * Persist oplog file magic number. Written once at the beginning of
> every oplog file; CRF, DRF,
>   * KRF, IF and IRF. Followed by 6 byte magic number. Each oplog type has
> a different magic number
>   * Followed by EndOfRecord Fix for bug 43824
>   *
>   * @since GemFire 8.0
>   */
>  static final byte OPLOG_MAGIC_SEQ_ID = 92;
> 
> DiskInitFile.java:
> 
>  /**
>   * Persist oplog file magic number. Written once at the beginning of
> every oplog file; CRF, DRF,
>   * KRF, and IF. Followed by 6 byte magic number. Each oplog type has a
> different magic number
>   * Followed by EndOfRecord Fix for bug 43824
>   *
>   * @since GemFire 8.0
>   */
>  public static final byte OPLOG_MAGIC_SEQ_ID = 89;

Reply via email to